v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MacroAssembler Class Reference

#include <macro-assembler-arm.h>

Inheritance diagram for MacroAssembler:
Collaboration diagram for MacroAssembler:

Data Structures

class  BASE_EMBEDDED
 
struct  Unresolved
 

Public Types

enum  RememberedSetFinalAction {
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd,
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd
}
 
enum  RememberedSetFinalAction {
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd,
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd
}
 
enum  RememberedSetFinalAction {
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd,
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd
}
 
enum  RememberedSetFinalAction {
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd,
  kReturnAtEnd, kFallThroughAtEnd, kReturnAtEnd, kFallThroughAtEnd
}
 
- Public Types inherited from Assembler
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0, DEBUG_BREAK_NOP, PROPERTY_ACCESS_INLINED, PROPERTY_ACCESS_INLINED_CONTEXT,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE, LAST_CODE_MARKER, FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED, NON_MARKING_NOP = 0,
  DEBUG_BREAK_NOP, PROPERTY_ACCESS_INLINED, PROPERTY_ACCESS_INLINED_CONTEXT, PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE,
  LAST_CODE_MARKER, FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  RoundingMode {
  kRoundToNearest = 0x0, kRoundDown = 0x1, kRoundUp = 0x2, kRoundToZero = 0x3,
  kRoundToNearest = 0x0, kRoundDown = 0x1, kRoundUp = 0x2, kRoundToZero = 0x3
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0, DEBUG_BREAK_NOP, PROPERTY_ACCESS_INLINED, PROPERTY_ACCESS_INLINED_CONTEXT,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE, LAST_CODE_MARKER, FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED, NON_MARKING_NOP = 0,
  DEBUG_BREAK_NOP, PROPERTY_ACCESS_INLINED, PROPERTY_ACCESS_INLINED_CONTEXT, PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE,
  LAST_CODE_MARKER, FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  RoundingMode {
  kRoundToNearest = 0x0, kRoundDown = 0x1, kRoundUp = 0x2, kRoundToZero = 0x3,
  kRoundToNearest = 0x0, kRoundDown = 0x1, kRoundUp = 0x2, kRoundToZero = 0x3
}
 

Public Member Functions

 MacroAssembler (Isolate *isolate, void *buffer, int size)
 
void Jump (Register target, Condition cond=al)
 
void Jump (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, Condition cond=al)
 
void Call (Register target, Condition cond=al)
 
int CallSize (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Call (Address target, RelocInfo::Mode rmode, Condition cond=al, TargetAddressStorageMode mode=CAN_INLINE_TARGET_ADDRESS)
 
int CallSize (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, TypeFeedbackId ast_id=TypeFeedbackId::None(), Condition cond=al)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, TypeFeedbackId ast_id=TypeFeedbackId::None(), Condition cond=al, TargetAddressStorageMode mode=CAN_INLINE_TARGET_ADDRESS)
 
void Ret (Condition cond=al)
 
void Drop (int count, Condition cond=al)
 
void Ret (int drop, Condition cond=al)
 
void Swap (Register reg1, Register reg2, Register scratch=no_reg, Condition cond=al)
 
void And (Register dst, Register src1, const Operand &src2, Condition cond=al)
 
void Ubfx (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void Sbfx (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void Bfi (Register dst, Register src, Register scratch, int lsb, int width, Condition cond=al)
 
void Bfc (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void Usat (Register dst, int satpos, const Operand &src, Condition cond=al)
 
void Call (Label *target)
 
void Move (Register dst, Handle< Object > value)
 
void Move (Register dst, Register src, Condition cond=al)
 
void Move (DoubleRegister dst, DoubleRegister src)
 
void LoadRoot (Register destination, Heap::RootListIndex index, Condition cond=al)
 
void StoreRoot (Register source, Heap::RootListIndex index, Condition cond=al)
 
void LoadHeapObject (Register dst, Handle< HeapObject > object)
 
void LoadObject (Register result, Handle< Object > object)
 
void IncrementalMarkingRecordWriteHelper (Register object, Register value, Register address)
 
void RememberedSetHelper (Register object, Register addr, Register scratch, SaveFPRegsMode save_fp, RememberedSetFinalAction and_then)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void JumpIfNotInNewSpace (Register object, Register scratch, Label *branch)
 
void JumpIfInNewSpace (Register object, Register scratch, Label *branch)
 
void HasColor (Register object, Register scratch0, Register scratch1, Label *has_color, int first_bit, int second_bit)
 
void JumpIfBlack (Register object, Register scratch0, Register scratch1, Label *on_black)
 
void EnsureNotWhite (Register object, Register scratch1, Register scratch2, Register scratch3, Label *object_is_white_and_not_data)
 
void JumpIfDataObject (Register value, Register scratch, Label *not_data_object)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteContextSlot (Register context, int offset, Register value, Register scratch, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void Push (Handle< Object > handle)
 
void Push (Register src1, Register src2, Condition cond=al)
 
void Push (Register src1, Register src2, Register src3, Condition cond=al)
 
void Push (Register src1, Register src2, Register src3, Register src4, Condition cond=al)
 
void Pop (Register src1, Register src2, Condition cond=al)
 
void Pop (Register src1, Register src2, Register src3, Condition cond=al)
 
void Pop (Register src1, Register src2, Register src3, Register src4, Condition cond=al)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void PushSafepointRegistersAndDoubles ()
 
void PopSafepointRegistersAndDoubles ()
 
void StoreToSafepointRegisterSlot (Register src, Register dst)
 
void StoreToSafepointRegistersAndDoublesSlot (Register src, Register dst)
 
void LoadFromSafepointRegisterSlot (Register dst, Register src)
 
void Ldrd (Register dst1, Register dst2, const MemOperand &src, Condition cond=al)
 
void Strd (Register src1, Register src2, const MemOperand &dst, Condition cond=al)
 
void ClearFPSCRBits (const uint32_t bits_to_clear, const Register scratch, const Condition cond=al)
 
void VFPCompareAndSetFlags (const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void VFPCompareAndSetFlags (const DwVfpRegister src1, const double src2, const Condition cond=al)
 
void VFPCompareAndLoadFlags (const DwVfpRegister src1, const DwVfpRegister src2, const Register fpscr_flags, const Condition cond=al)
 
void VFPCompareAndLoadFlags (const DwVfpRegister src1, const double src2, const Register fpscr_flags, const Condition cond=al)
 
void Vmov (const DwVfpRegister dst, const double imm, const Register scratch=no_reg, const Condition cond=al)
 
void EnterExitFrame (bool save_doubles, int stack_space=0)
 
void LeaveExitFrame (bool save_doubles, Register argument_count)
 
void LoadContext (Register dst, int context_chain_length)
 
void LoadTransitionedArrayMapConditional (ElementsKind expected_kind, ElementsKind transitioned_kind, Register map_in_out, Register scratch, Label *no_map_match)
 
void LoadInitialArrayMap (Register function_in, Register scratch, Register map_out, bool can_have_holes)
 
void LoadGlobalFunction (int index, Register function)
 
void LoadGlobalFunctionInitialMap (Register function, Register map, Register scratch)
 
void InitializeRootRegister ()
 
void SetCallKind (Register dst, CallKind kind)
 
void InvokeCode (Register code, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeCode (Handle< Code > code, const ParameterCount &expected, const ParameterCount &actual, RelocInfo::Mode rmode, InvokeFlag flag, CallKind call_kind)
 
void InvokeFunction (Register function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeFunction (Handle< JSFunction > function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void IsObjectJSObjectType (Register heap_object, Register map, Register scratch, Label *fail)
 
void IsInstanceJSObjectType (Register map, Register scratch, Label *fail)
 
void IsObjectJSStringType (Register object, Register scratch, Label *fail)
 
void PushTryHandler (StackHandler::Kind kind, int handler_index)
 
void PopTryHandler ()
 
void Throw (Register value)
 
void ThrowUncatchable (Register value)
 
void CheckAccessGlobalProxy (Register holder_reg, Register scratch, Label *miss)
 
void GetNumberHash (Register t0, Register scratch)
 
void LoadFromNumberDictionary (Label *miss, Register elements, Register key, Register result, Register t0, Register t1, Register t2)
 
void MarkCode (NopMarkerTypes type)
 
void AllocateInNewSpace (int object_size, Register result, Register scratch1, Register scratch2, Label *gc_required, AllocationFlags flags)
 
void AllocateInNewSpace (Register object_size, Register result, Register scratch1, Register scratch2, Label *gc_required, AllocationFlags flags)
 
void UndoAllocationInNewSpace (Register object, Register scratch)
 
void AllocateTwoByteString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateAsciiString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateTwoByteConsString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiConsString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateTwoByteSlicedString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiSlicedString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateHeapNumber (Register result, Register scratch1, Register scratch2, Register heap_number_map, Label *gc_required, TaggingMode tagging_mode=TAG_RESULT)
 
void AllocateHeapNumberWithValue (Register result, DwVfpRegister value, Register scratch1, Register scratch2, Register heap_number_map, Label *gc_required)
 
void CopyFields (Register dst, Register src, RegList temps, int field_count)
 
void CopyBytes (Register src, Register dst, Register length, Register scratch)
 
void InitializeFieldsWithFiller (Register start_offset, Register end_offset, Register filler)
 
void TryGetFunctionPrototype (Register function, Register result, Register scratch, Label *miss, bool miss_on_bound_function=false)
 
void CompareObjectType (Register heap_object, Register map, Register type_reg, InstanceType type)
 
void CompareInstanceType (Register map, Register type_reg, InstanceType type)
 
void CheckFastElements (Register map, Register scratch, Label *fail)
 
void CheckFastObjectElements (Register map, Register scratch, Label *fail)
 
void CheckFastSmiElements (Register map, Register scratch, Label *fail)
 
void StoreNumberToDoubleElements (Register value_reg, Register key_reg, Register receiver_reg, Register elements_reg, Register scratch1, Register scratch2, Register scratch3, Register scratch4, Label *fail)
 
void CompareMap (Register obj, Register scratch, Handle< Map > map, Label *early_success, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CompareMap (Register obj_map, Handle< Map > map, Label *early_success, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CheckMap (Register obj, Register scratch, Handle< Map > map, Label *fail, SmiCheckType smi_check_type, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CheckMap (Register obj, Register scratch, Heap::RootListIndex index, Label *fail, SmiCheckType smi_check_type)
 
void DispatchMap (Register obj, Register scratch, Handle< Map > map, Handle< Code > success, SmiCheckType smi_check_type)
 
void CompareRoot (Register obj, Heap::RootListIndex index)
 
Condition IsObjectStringType (Register obj, Register type)
 
void IllegalOperation (int num_arguments)
 
void IndexFromHash (Register hash, Register index)
 
void GetLeastBitsFromSmi (Register dst, Register src, int num_least_bits)
 
void GetLeastBitsFromInt32 (Register dst, Register src, int mun_least_bits)
 
void IntegerToDoubleConversionWithVFP3 (Register inReg, Register outHighReg, Register outLowReg)
 
void ObjectToDoubleVFPRegister (Register object, DwVfpRegister value, Register scratch1, Register scratch2, Register heap_number_map, SwVfpRegister scratch3, Label *not_number, ObjectToDoubleFlags flags=NO_OBJECT_TO_DOUBLE_FLAGS)
 
void SmiToDoubleVFPRegister (Register smi, DwVfpRegister value, Register scratch1, SwVfpRegister scratch2)
 
void ConvertToInt32 (Register source, Register dest, Register scratch, Register scratch2, DwVfpRegister double_scratch, Label *not_int32)
 
void EmitVFPTruncate (VFPRoundingMode rounding_mode, Register result, DwVfpRegister double_input, Register scratch, DwVfpRegister double_scratch, CheckForInexactConversion check=kDontCheckForInexactConversion)
 
void EmitOutOfInt32RangeTruncate (Register result, Register input_high, Register input_low, Register scratch)
 
void EmitECMATruncate (Register result, DwVfpRegister double_input, SwVfpRegister single_scratch, Register scratch, Register scratch2, Register scratch3)
 
void CountLeadingZeros (Register zeros, Register source, Register scratch)
 
void CallStub (CodeStub *stub, Condition cond=al)
 
void TailCallStub (CodeStub *stub, Condition cond=al)
 
void CallRuntime (const Runtime::Function *f, int num_arguments)
 
void CallRuntimeSaveDoubles (Runtime::FunctionId id)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments)
 
void CallExternalReference (const ExternalReference &ext, int num_arguments)
 
void TailCallExternalReference (const ExternalReference &ext, int num_arguments, int result_size)
 
void TailCallRuntime (Runtime::FunctionId fid, int num_arguments, int result_size)
 
int CalculateStackPassedWords (int num_reg_arguments, int num_double_arguments)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers, Register scratch)
 
void PrepareCallCFunction (int num_reg_arguments, Register scratch)
 
void SetCallCDoubleArguments (DoubleRegister dreg)
 
void SetCallCDoubleArguments (DoubleRegister dreg1, DoubleRegister dreg2)
 
void SetCallCDoubleArguments (DoubleRegister dreg, Register reg)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void GetCFunctionDoubleResult (const DoubleRegister dst)
 
void CallApiFunctionAndReturn (ExternalReference function, int stack_space)
 
void JumpToExternalReference (const ExternalReference &builtin)
 
void InvokeBuiltin (Builtins::JavaScript id, InvokeFlag flag, const CallWrapper &call_wrapper=NullCallWrapper())
 
void GetBuiltinEntry (Register target, Builtins::JavaScript id)
 
void GetBuiltinFunction (Register target, Builtins::JavaScript id)
 
Handle< ObjectCodeObject ()
 
void SetCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void Assert (Condition cond, const char *msg)
 
void AssertRegisterIsRoot (Register reg, Heap::RootListIndex index)
 
void AssertFastElements (Register elements)
 
void Check (Condition cond, const char *msg)
 
void Abort (const char *msg)
 
void set_generating_stub (bool value)
 
bool generating_stub ()
 
void set_allow_stub_calls (bool value)
 
bool allow_stub_calls ()
 
void set_has_frame (bool value)
 
bool has_frame ()
 
bool AllowThisStubCall (CodeStub *stub)
 
bool use_eabi_hardfloat ()
 
void JumpIfNotPowerOfTwoOrZero (Register reg, Register scratch, Label *not_power_of_two_or_zero)
 
void JumpIfNotPowerOfTwoOrZeroAndNeg (Register reg, Register scratch, Label *zero_and_neg, Label *not_power_of_two)
 
void SmiTag (Register reg, SBit s=LeaveCC)
 
void SmiTag (Register dst, Register src, SBit s=LeaveCC)
 
void TrySmiTag (Register reg, Label *not_a_smi, Register scratch)
 
void SmiUntag (Register reg, SBit s=LeaveCC)
 
void SmiUntag (Register dst, Register src, SBit s=LeaveCC)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void UntagAndJumpIfNotSmi (Register dst, Register src, Label *non_smi_case)
 
void JumpIfSmi (Register value, Label *smi_label)
 
void JumpIfNotSmi (Register value, Label *not_smi_label)
 
void JumpIfNotBothSmi (Register reg1, Register reg2, Label *on_not_both_smi)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertString (Register object)
 
void AssertRootValue (Register src, Heap::RootListIndex root_value_index, const char *message)
 
void JumpIfNotHeapNumber (Register object, Register heap_number_map, Register scratch, Label *on_not_heap_number)
 
void JumpIfNonSmisNotBothSequentialAsciiStrings (Register object1, Register object2, Register scratch1, Register scratch2, Label *failure)
 
void JumpIfNotBothSequentialAsciiStrings (Register first, Register second, Register scratch1, Register scratch2, Label *not_flat_ascii_strings)
 
void JumpIfBothInstanceTypesAreNotSequentialAscii (Register first_object_instance_type, Register second_object_instance_type, Register scratch1, Register scratch2, Label *failure)
 
void JumpIfInstanceTypeIsNotSequentialAscii (Register type, Register scratch, Label *failure)
 
void GetRelocatedValueLocation (Register ldr_location, Register result)
 
void ClampUint8 (Register output_reg, Register input_reg)
 
void ClampDoubleToUint8 (Register result_reg, DoubleRegister input_reg, DoubleRegister temp_double_reg)
 
void LoadInstanceDescriptors (Register map, Register descriptors)
 
void EnumLength (Register dst, Register map)
 
void NumberOfOwnDescriptors (Register dst, Register map)
 
template<typename Field >
void DecodeField (Register reg)
 
void EnterFrame (StackFrame::Type type)
 
void LeaveFrame (StackFrame::Type type)
 
void CheckEnumCache (Register null_value, Label *call_runtime)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size)
 
void RememberedSetHelper (Register object, Register addr, Register scratch, SaveFPRegsMode save_fp, RememberedSetFinalAction and_then)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met, Label::Distance condition_met_distance=Label::kFar)
 
void CheckPageFlagForMap (Handle< Map > map, int mask, Condition cc, Label *condition_met, Label::Distance condition_met_distance=Label::kFar)
 
void JumpIfNotInNewSpace (Register object, Register scratch, Label *branch, Label::Distance distance=Label::kFar)
 
void JumpIfInNewSpace (Register object, Register scratch, Label *branch, Label::Distance distance=Label::kFar)
 
void HasColor (Register object, Register scratch0, Register scratch1, Label *has_color, Label::Distance has_color_distance, int first_bit, int second_bit)
 
void JumpIfBlack (Register object, Register scratch0, Register scratch1, Label *on_black, Label::Distance on_black_distance=Label::kFar)
 
void EnsureNotWhite (Register object, Register scratch1, Register scratch2, Label *object_is_white_and_not_data, Label::Distance distance)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteContextSlot (Register context, int offset, Register value, Register scratch, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteArray (Register array, Register value, Register index, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteForMap (Register object, Handle< Map > map, Register scratch1, Register scratch2, SaveFPRegsMode save_fp)
 
void EnterExitFrame (bool save_doubles)
 
void EnterApiExitFrame (int argc)
 
void LeaveExitFrame (bool save_doubles)
 
void LeaveApiExitFrame ()
 
void LoadContext (Register dst, int context_chain_length)
 
void LoadTransitionedArrayMapConditional (ElementsKind expected_kind, ElementsKind transitioned_kind, Register map_in_out, Register scratch, Label *no_map_match)
 
void LoadInitialArrayMap (Register function_in, Register scratch, Register map_out, bool can_have_holes)
 
void LoadGlobalFunction (int index, Register function)
 
void LoadGlobalFunctionInitialMap (Register function, Register map)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void StoreToSafepointRegisterSlot (Register dst, Register src)
 
void StoreToSafepointRegisterSlot (Register dst, Immediate src)
 
void LoadFromSafepointRegisterSlot (Register dst, Register src)
 
void LoadHeapObject (Register result, Handle< HeapObject > object)
 
void PushHeapObject (Handle< HeapObject > object)
 
void LoadObject (Register result, Handle< Object > object)
 
void SetCallKind (Register dst, CallKind kind)
 
void InvokeCode (Register code, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeCode (const Operand &code, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeCode (Handle< Code > code, const ParameterCount &expected, const ParameterCount &actual, RelocInfo::Mode rmode, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeFunction (Register function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeFunction (Handle< JSFunction > function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeBuiltin (Builtins::JavaScript id, InvokeFlag flag, const CallWrapper &call_wrapper=NullCallWrapper())
 
void GetBuiltinFunction (Register target, Builtins::JavaScript id)
 
void GetBuiltinEntry (Register target, Builtins::JavaScript id)
 
void Set (Register dst, const Immediate &x)
 
void Set (const Operand &dst, const Immediate &x)
 
bool IsUnsafeImmediate (const Immediate &x)
 
void SafeSet (Register dst, const Immediate &x)
 
void SafePush (const Immediate &x)
 
void CompareRoot (Register with, Heap::RootListIndex index)
 
void CompareRoot (const Operand &with, Heap::RootListIndex index)
 
void CmpObjectType (Register heap_object, InstanceType type, Register map)
 
void CmpInstanceType (Register map, InstanceType type)
 
void CheckFastElements (Register map, Label *fail, Label::Distance distance=Label::kFar)
 
void CheckFastObjectElements (Register map, Label *fail, Label::Distance distance=Label::kFar)
 
void CheckFastSmiElements (Register map, Label *fail, Label::Distance distance=Label::kFar)
 
void StoreNumberToDoubleElements (Register maybe_number, Register elements, Register key, Register scratch1, XMMRegister scratch2, Label *fail, bool specialize_for_processor)
 
void CompareMap (Register obj, Handle< Map > map, Label *early_success, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CheckMap (Register obj, Handle< Map > map, Label *fail, SmiCheckType smi_check_type, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void DispatchMap (Register obj, Handle< Map > map, Handle< Code > success, SmiCheckType smi_check_type)
 
Condition IsObjectStringType (Register heap_object, Register map, Register instance_type)
 
void IsObjectJSObjectType (Register heap_object, Register map, Register scratch, Label *fail)
 
void IsInstanceJSObjectType (Register map, Register scratch, Label *fail)
 
void FCmp ()
 
void ClampUint8 (Register reg)
 
void ClampDoubleToUint8 (XMMRegister input_reg, XMMRegister scratch_reg, Register result_reg)
 
void SmiTag (Register reg)
 
void SmiUntag (Register reg)
 
void SmiUntag (Register reg, Label *is_smi)
 
void LoadUint32 (XMMRegister dst, Register src, XMMRegister scratch)
 
void JumpIfSmi (Register value, Label *smi_label, Label::Distance distance=Label::kFar)
 
void JumpIfSmi (Operand value, Label *smi_label, Label::Distance distance=Label::kFar)
 
void JumpIfNotSmi (Register value, Label *not_smi_label, Label::Distance distance=Label::kFar)
 
void LoadInstanceDescriptors (Register map, Register descriptors)
 
void EnumLength (Register dst, Register map)
 
void NumberOfOwnDescriptors (Register dst, Register map)
 
template<typename Field >
void DecodeField (Register reg)
 
void LoadPowerOf2 (XMMRegister dst, Register scratch, int power)
 
void AssertNumber (Register object)
 
void AssertSmi (Register object)
 
void AssertNotSmi (Register object)
 
void AssertString (Register object)
 
void PushTryHandler (StackHandler::Kind kind, int handler_index)
 
void PopTryHandler ()
 
void Throw (Register value)
 
void ThrowUncatchable (Register value)
 
void CheckAccessGlobalProxy (Register holder_reg, Register scratch, Label *miss)
 
void GetNumberHash (Register r0, Register scratch)
 
void LoadFromNumberDictionary (Label *miss, Register elements, Register key, Register r0, Register r1, Register r2, Register result)
 
void AllocateInNewSpace (int object_size, Register result, Register result_end, Register scratch, Label *gc_required, AllocationFlags flags)
 
void AllocateInNewSpace (int header_size, ScaleFactor element_size, Register element_count, Register result, Register result_end, Register scratch, Label *gc_required, AllocationFlags flags)
 
void AllocateInNewSpace (Register object_size, Register result, Register result_end, Register scratch, Label *gc_required, AllocationFlags flags)
 
void UndoAllocationInNewSpace (Register object)
 
void AllocateHeapNumber (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateTwoByteString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateAsciiString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateAsciiString (Register result, int length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateTwoByteConsString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiConsString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateTwoByteSlicedString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiSlicedString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void CopyBytes (Register source, Register destination, Register length, Register scratch)
 
void InitializeFieldsWithFiller (Register start_offset, Register end_offset, Register filler)
 
void BooleanBitTest (Register object, int field_offset, int bit_index)
 
void NegativeZeroTest (Register result, Register op, Label *then_label)
 
void NegativeZeroTest (Register result, Register op1, Register op2, Register scratch, Label *then_label)
 
void TryGetFunctionPrototype (Register function, Register result, Register scratch, Label *miss, bool miss_on_bound_function=false)
 
void IllegalOperation (int num_arguments)
 
void IndexFromHash (Register hash, Register index)
 
void CallStub (CodeStub *stub, TypeFeedbackId ast_id=TypeFeedbackId::None())
 
void TailCallStub (CodeStub *stub)
 
void StubReturn (int argc)
 
void CallRuntime (const Runtime::Function *f, int num_arguments)
 
void CallRuntimeSaveDoubles (Runtime::FunctionId id)
 
void CallRuntime (Runtime::FunctionId id, int num_arguments)
 
void CallExternalReference (ExternalReference ref, int num_arguments)
 
void TailCallExternalReference (const ExternalReference &ext, int num_arguments, int result_size)
 
void TailCallRuntime (Runtime::FunctionId fid, int num_arguments, int result_size)
 
void PrepareCallCFunction (int num_arguments, Register scratch)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void PrepareCallApiFunction (int argc)
 
void CallApiFunctionAndReturn (Address function_address, int stack_space)
 
void JumpToExternalReference (const ExternalReference &ext)
 
void Ret ()
 
void Ret (int bytes_dropped, Register scratch)
 
void Drop (int element_count)
 
void Call (Label *target)
 
void CallSelf ()
 
void Move (Register target, Register source)
 
void Push (Handle< Object > handle)
 
Handle< ObjectCodeObject ()
 
void SetCounter (StatsCounter *counter, int value)
 
void IncrementCounter (StatsCounter *counter, int value)
 
void DecrementCounter (StatsCounter *counter, int value)
 
void IncrementCounter (Condition cc, StatsCounter *counter, int value)
 
void DecrementCounter (Condition cc, StatsCounter *counter, int value)
 
void Assert (Condition cc, const char *msg)
 
void AssertFastElements (Register elements)
 
void Check (Condition cc, const char *msg)
 
void Abort (const char *msg)
 
void CheckStackAlignment ()
 
void set_generating_stub (bool value)
 
bool generating_stub ()
 
void set_allow_stub_calls (bool value)
 
bool allow_stub_calls ()
 
void set_has_frame (bool value)
 
bool has_frame ()
 
bool AllowThisStubCall (CodeStub *stub)
 
void JumpIfInstanceTypeIsNotSequentialAscii (Register instance_type, Register scratch, Label *on_not_flat_ascii_string)
 
void JumpIfNotBothSequentialAsciiStrings (Register object1, Register object2, Register scratch1, Register scratch2, Label *on_not_flat_ascii_strings)
 
void EnterFrame (StackFrame::Type type)
 
void LeaveFrame (StackFrame::Type type)
 
void CheckEnumCache (Label *call_runtime)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size)
 
void Jump (Register target, COND_ARGS)
 
void Jump (intptr_t target, RelocInfo::Mode rmode, COND_ARGS)
 
void Jump (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, COND_ARGS)
 
void Call (Register target, COND_ARGS)
 
void Call (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, TypeFeedbackId ast_id=TypeFeedbackId::None(), COND_ARGS)
 
void Ret (COND_ARGS)
 
void Ret (BranchDelaySlot bd, Condition cond=al, Register rs=zero_reg, const Operand &rt=Operand(zero_reg))
 
void Branch (Label *L, Condition cond, Register rs, Heap::RootListIndex index, BranchDelaySlot bdslot=PROTECT)
 
void Drop (int count, Condition cond=cc_always, Register reg=no_reg, const Operand &op=Operand(no_reg))
 
void DropAndRet (int drop)
 
void DropAndRet (int drop, Condition cond, Register reg, const Operand &op)
 
void Swap (Register reg1, Register reg2, Register scratch=no_reg)
 
void Call (Label *target)
 
void Move (Register dst, Register src)
 
void Move (FPURegister dst, FPURegister src)
 
void Move (Register dst_low, Register dst_high, FPURegister src)
 
void Move (FPURegister dst, Register src_low, Register src_high)
 
void Move (FPURegister dst, double imm)
 
void Movz (Register rd, Register rs, Register rt)
 
void Movn (Register rd, Register rs, Register rt)
 
void Movt (Register rd, Register rs, uint16_t cc=0)
 
void Movf (Register rd, Register rs, uint16_t cc=0)
 
void Clz (Register rd, Register rs)
 
void jmp (Label *L)
 
void LoadRoot (Register destination, Heap::RootListIndex index)
 
void LoadRoot (Register destination, Heap::RootListIndex index, Condition cond, Register src1, const Operand &src2)
 
void StoreRoot (Register source, Heap::RootListIndex index)
 
void StoreRoot (Register source, Heap::RootListIndex index, Condition cond, Register src1, const Operand &src2)
 
void LoadHeapObject (Register dst, Handle< HeapObject > object)
 
void LoadObject (Register result, Handle< Object > object)
 
void IncrementalMarkingRecordWriteHelper (Register object, Register value, Register address)
 
void RememberedSetHelper (Register object, Register addr, Register scratch, SaveFPRegsMode save_fp, RememberedSetFinalAction and_then)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void JumpIfNotInNewSpace (Register object, Register scratch, Label *branch)
 
void JumpIfInNewSpace (Register object, Register scratch, Label *branch)
 
void HasColor (Register object, Register scratch0, Register scratch1, Label *has_color, int first_bit, int second_bit)
 
void JumpIfBlack (Register object, Register scratch0, Register scratch1, Label *on_black)
 
void EnsureNotWhite (Register object, Register scratch1, Register scratch2, Register scratch3, Label *object_is_white_and_not_data)
 
void JumpIfDataObject (Register value, Register scratch, Label *not_data_object)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteContextSlot (Register context, int offset, Register value, Register scratch, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void CheckAccessGlobalProxy (Register holder_reg, Register scratch, Label *miss)
 
void GetNumberHash (Register reg0, Register scratch)
 
void LoadFromNumberDictionary (Label *miss, Register elements, Register key, Register result, Register reg0, Register reg1, Register reg2)
 
void MarkCode (NopMarkerTypes type)
 
void AllocateInNewSpace (int object_size, Register result, Register scratch1, Register scratch2, Label *gc_required, AllocationFlags flags)
 
void AllocateInNewSpace (Register object_size, Register result, Register scratch1, Register scratch2, Label *gc_required, AllocationFlags flags)
 
void UndoAllocationInNewSpace (Register object, Register scratch)
 
void AllocateTwoByteString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateAsciiString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateTwoByteConsString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiConsString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateTwoByteSlicedString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiSlicedString (Register result, Register length, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateHeapNumber (Register result, Register scratch1, Register scratch2, Register heap_number_map, Label *gc_required)
 
void AllocateHeapNumberWithValue (Register result, FPURegister value, Register scratch1, Register scratch2, Label *gc_required)
 
 DEFINE_INSTRUCTION (Addu)
 
 DEFINE_INSTRUCTION (Subu)
 
 DEFINE_INSTRUCTION (Mul)
 
 DEFINE_INSTRUCTION2 (Mult)
 
 DEFINE_INSTRUCTION2 (Multu)
 
 DEFINE_INSTRUCTION2 (Div)
 
 DEFINE_INSTRUCTION2 (Divu)
 
 DEFINE_INSTRUCTION (And)
 
 DEFINE_INSTRUCTION (Or)
 
 DEFINE_INSTRUCTION (Xor)
 
 DEFINE_INSTRUCTION (Nor)
 
 DEFINE_INSTRUCTION2 (Neg)
 
 DEFINE_INSTRUCTION (Slt)
 
 DEFINE_INSTRUCTION (Sltu)
 
 DEFINE_INSTRUCTION (Ror)
 
void mov (Register rd, Register rt)
 
void li (Register rd, Operand j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register rd, int32_t j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, Handle< Object > value, LiFlags mode=OPTIMIZE_SIZE)
 
void MultiPush (RegList regs)
 
void MultiPushReversed (RegList regs)
 
void MultiPushFPU (RegList regs)
 
void MultiPushReversedFPU (RegList regs)
 
void push (Register src)
 
void Push (Handle< Object > handle)
 
void Push (Register src1, Register src2)
 
void Push (Register src1, Register src2, Register src3)
 
void Push (Register src1, Register src2, Register src3, Register src4)
 
void Push (Register src, Condition cond, Register tst1, Register tst2)
 
void MultiPop (RegList regs)
 
void MultiPopReversed (RegList regs)
 
void MultiPopFPU (RegList regs)
 
void MultiPopReversedFPU (RegList regs)
 
void pop (Register dst)
 
void Pop (Register src1, Register src2)
 
void Pop (Register src1, Register src2, Register src3)
 
void Pop (uint32_t count=1)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void PushSafepointRegistersAndDoubles ()
 
void PopSafepointRegistersAndDoubles ()
 
void StoreToSafepointRegisterSlot (Register src, Register dst)
 
void StoreToSafepointRegistersAndDoublesSlot (Register src, Register dst)
 
void LoadFromSafepointRegisterSlot (Register dst, Register src)
 
void FlushICache (Register address, unsigned instructions)
 
void Ins (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void Ext (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void Cvt_d_uw (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Cvt_d_uw (FPURegister fd, Register rs, FPURegister scratch)
 
void Trunc_uw_d (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Trunc_uw_d (FPURegister fd, Register rs, FPURegister scratch)
 
void Trunc_w_d (FPURegister fd, FPURegister fs)
 
void Round_w_d (FPURegister fd, FPURegister fs)
 
void Floor_w_d (FPURegister fd, FPURegister fs)
 
void Ceil_w_d (FPURegister fd, FPURegister fs)
 
void BranchF (Label *target, Label *nan, Condition cc, FPURegister cmp1, FPURegister cmp2, BranchDelaySlot bd=PROTECT)
 
void BranchF (BranchDelaySlot bd, Label *target, Label *nan, Condition cc, FPURegister cmp1, FPURegister cmp2)
 
void ConvertToInt32 (Register source, Register dest, Register scratch, Register scratch2, FPURegister double_scratch, Label *not_int32)
 
void EmitFPUTruncate (FPURoundingMode rounding_mode, FPURegister result, DoubleRegister double_input, Register scratch1, Register except_flag, CheckForInexactConversion check_inexact=kDontCheckForInexactConversion)
 
void EmitOutOfInt32RangeTruncate (Register result, Register input_high, Register input_low, Register scratch)
 
void EmitECMATruncate (Register result, FPURegister double_input, FPURegister single_scratch, Register scratch, Register scratch2, Register scratch3)
 
void EnterExitFrame (bool save_doubles, int stack_space=0)
 
void LeaveExitFrame (bool save_doubles, Register arg_count, bool do_return=false)
 
void AssertStackIsAligned ()
 
void LoadContext (Register dst, int context_chain_length)
 
void LoadTransitionedArrayMapConditional (ElementsKind expected_kind, ElementsKind transitioned_kind, Register map_in_out, Register scratch, Label *no_map_match)
 
void LoadInitialArrayMap (Register function_in, Register scratch, Register map_out, bool can_have_holes)
 
void LoadGlobalFunction (int index, Register function)
 
void LoadGlobalFunctionInitialMap (Register function, Register map, Register scratch)
 
void InitializeRootRegister ()
 
void SetCallKind (Register dst, CallKind kind)
 
void InvokeCode (Register code, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeCode (Handle< Code > code, const ParameterCount &expected, const ParameterCount &actual, RelocInfo::Mode rmode, InvokeFlag flag, CallKind call_kind)
 
void InvokeFunction (Register function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeFunction (Handle< JSFunction > function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void IsObjectJSObjectType (Register heap_object, Register map, Register scratch, Label *fail)
 
void IsInstanceJSObjectType (Register map, Register scratch, Label *fail)
 
void IsObjectJSStringType (Register object, Register scratch, Label *fail)
 
void PushTryHandler (StackHandler::Kind kind, int handler_index)
 
void PopTryHandler ()
 
void Throw (Register value)
 
void ThrowUncatchable (Register value)
 
void CopyFields (Register dst, Register src, RegList temps, int field_count)
 
void CopyBytes (Register src, Register dst, Register length, Register scratch)
 
void InitializeFieldsWithFiller (Register start_offset, Register end_offset, Register filler)
 
void TryGetFunctionPrototype (Register function, Register result, Register scratch, Label *miss, bool miss_on_bound_function=false)
 
void GetObjectType (Register function, Register map, Register type_reg)
 
void CheckFastElements (Register map, Register scratch, Label *fail)
 
void CheckFastObjectElements (Register map, Register scratch, Label *fail)
 
void CheckFastSmiElements (Register map, Register scratch, Label *fail)
 
void StoreNumberToDoubleElements (Register value_reg, Register key_reg, Register receiver_reg, Register elements_reg, Register scratch1, Register scratch2, Register scratch3, Register scratch4, Label *fail)
 
void CompareMapAndBranch (Register obj, Register scratch, Handle< Map > map, Label *early_success, Condition cond, Label *branch_to, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CompareMapAndBranch (Register obj_map, Handle< Map > map, Label *early_success, Condition cond, Label *branch_to, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CheckMap (Register obj, Register scratch, Handle< Map > map, Label *fail, SmiCheckType smi_check_type, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CheckMap (Register obj, Register scratch, Heap::RootListIndex index, Label *fail, SmiCheckType smi_check_type)
 
void DispatchMap (Register obj, Register scratch, Handle< Map > map, Handle< Code > success, SmiCheckType smi_check_type)
 
void IllegalOperation (int num_arguments)
 
Condition IsObjectStringType (Register obj, Register type, Register result)
 
void IndexFromHash (Register hash, Register index)
 
void GetLeastBitsFromSmi (Register dst, Register src, int num_least_bits)
 
void GetLeastBitsFromInt32 (Register dst, Register src, int mun_least_bits)
 
void ObjectToDoubleFPURegister (Register object, FPURegister value, Register scratch1, Register scratch2, Register heap_number_map, Label *not_number, ObjectToDoubleFlags flags=NO_OBJECT_TO_DOUBLE_FLAGS)
 
void SmiToDoubleFPURegister (Register smi, FPURegister value, Register scratch1)
 
void AdduAndCheckForOverflow (Register dst, Register left, Register right, Register overflow_dst, Register scratch=at)
 
void SubuAndCheckForOverflow (Register dst, Register left, Register right, Register overflow_dst, Register scratch=at)
 
void BranchOnOverflow (Label *label, Register overflow_check, BranchDelaySlot bd=PROTECT)
 
void BranchOnNoOverflow (Label *label, Register overflow_check, BranchDelaySlot bd=PROTECT)
 
void RetOnOverflow (Register overflow_check, BranchDelaySlot bd=PROTECT)
 
void RetOnNoOverflow (Register overflow_check, BranchDelaySlot bd=PROTECT)
 
void PrepareCEntryArgs (int num_args)
 
void PrepareCEntryFunction (const ExternalReference &ref)
 
void CallStub (CodeStub *stub, Condition cond=cc_always, Register r1=zero_reg, const Operand &r2=Operand(zero_reg), BranchDelaySlot bd=PROTECT)
 
void TailCallStub (CodeStub *stub)
 
void CallJSExitStub (CodeStub *stub)
 
void CallRuntime (const Runtime::Function *f, int num_arguments)
 
void CallRuntimeSaveDoubles (Runtime::FunctionId id)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments)
 
void CallExternalReference (const ExternalReference &ext, int num_arguments, BranchDelaySlot bd=PROTECT)
 
void TailCallExternalReference (const ExternalReference &ext, int num_arguments, int result_size)
 
void TailCallRuntime (Runtime::FunctionId fid, int num_arguments, int result_size)
 
int CalculateStackPassedWords (int num_reg_arguments, int num_double_arguments)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers, Register scratch)
 
void PrepareCallCFunction (int num_reg_arguments, Register scratch)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void GetCFunctionDoubleResult (const DoubleRegister dst)
 
void SetCallCDoubleArguments (DoubleRegister dreg)
 
void SetCallCDoubleArguments (DoubleRegister dreg1, DoubleRegister dreg2)
 
void SetCallCDoubleArguments (DoubleRegister dreg, Register reg)
 
void CallApiFunctionAndReturn (ExternalReference function, int stack_space)
 
void JumpToExternalReference (const ExternalReference &builtin, BranchDelaySlot bd=PROTECT)
 
void InvokeBuiltin (Builtins::JavaScript id, InvokeFlag flag, const CallWrapper &call_wrapper=NullCallWrapper())
 
void GetBuiltinEntry (Register target, Builtins::JavaScript id)
 
void GetBuiltinFunction (Register target, Builtins::JavaScript id)
 
Handle< ObjectCodeObject ()
 
void SetCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void Assert (Condition cc, const char *msg, Register rs, Operand rt)
 
void AssertRegisterIsRoot (Register reg, Heap::RootListIndex index)
 
void AssertFastElements (Register elements)
 
void Check (Condition cc, const char *msg, Register rs, Operand rt)
 
void Abort (const char *msg)
 
void set_generating_stub (bool value)
 
bool generating_stub ()
 
void set_allow_stub_calls (bool value)
 
bool allow_stub_calls ()
 
void set_has_frame (bool value)
 
bool has_frame ()
 
bool AllowThisStubCall (CodeStub *stub)
 
void JumpIfNotPowerOfTwoOrZero (Register reg, Register scratch, Label *not_power_of_two_or_zero)
 
void SmiTag (Register reg)
 
void SmiTagCheckOverflow (Register reg, Register overflow)
 
void SmiTagCheckOverflow (Register dst, Register src, Register overflow)
 
void SmiTag (Register dst, Register src)
 
void SmiUntag (Register reg)
 
void SmiUntag (Register dst, Register src)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void UntagAndJumpIfNotSmi (Register dst, Register src, Label *non_smi_case)
 
void JumpIfSmi (Register value, Label *smi_label, Register scratch=at, BranchDelaySlot bd=PROTECT)
 
void JumpIfNotSmi (Register value, Label *not_smi_label, Register scratch=at, BranchDelaySlot bd=PROTECT)
 
void JumpIfNotBothSmi (Register reg1, Register reg2, Label *on_not_both_smi)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertString (Register object)
 
void AssertRootValue (Register src, Heap::RootListIndex root_value_index, const char *message)
 
void JumpIfNotHeapNumber (Register object, Register heap_number_map, Register scratch, Label *on_not_heap_number)
 
void JumpIfBothInstanceTypesAreNotSequentialAscii (Register first_object_instance_type, Register second_object_instance_type, Register scratch1, Register scratch2, Label *failure)
 
void JumpIfInstanceTypeIsNotSequentialAscii (Register type, Register scratch, Label *failure)
 
void JumpIfNonSmisNotBothSequentialAsciiStrings (Register first, Register second, Register scratch1, Register scratch2, Label *failure)
 
void JumpIfNotBothSequentialAsciiStrings (Register first, Register second, Register scratch1, Register scratch2, Label *failure)
 
void ClampUint8 (Register output_reg, Register input_reg)
 
void ClampDoubleToUint8 (Register result_reg, DoubleRegister input_reg, DoubleRegister temp_double_reg)
 
void LoadInstanceDescriptors (Register map, Register descriptors)
 
void EnumLength (Register dst, Register map)
 
void NumberOfOwnDescriptors (Register dst, Register map)
 
template<typename Field >
void DecodeField (Register reg)
 
void EnterFrame (StackFrame::Type type)
 
void LeaveFrame (StackFrame::Type type)
 
void PatchRelocatedValue (Register li_location, Register scratch, Register new_value)
 
void GetRelocatedValue (Register li_location, Register value, Register scratch)
 
void CheckEnumCache (Register null_value, Label *call_runtime)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size)
 
Operand ExternalOperand (ExternalReference reference, Register scratch=kScratchRegister)
 
void Load (Register destination, ExternalReference source)
 
void Store (ExternalReference destination, Register source)
 
void LoadAddress (Register destination, ExternalReference source)
 
int LoadAddressSize (ExternalReference source)
 
void PushAddress (ExternalReference source)
 
void LoadRoot (Register destination, Heap::RootListIndex index)
 
void StoreRoot (Register source, Heap::RootListIndex index)
 
void LoadRootIndexed (Register destination, Register variable_offset, int fixed_offset)
 
void CompareRoot (Register with, Heap::RootListIndex index)
 
void CompareRoot (const Operand &with, Heap::RootListIndex index)
 
void PushRoot (Heap::RootListIndex index)
 
void PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void RememberedSetHelper (Register object, Register addr, Register scratch, SaveFPRegsMode save_fp, RememberedSetFinalAction and_then)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met, Label::Distance condition_met_distance=Label::kFar)
 
void JumpIfNotInNewSpace (Register object, Register scratch, Label *branch, Label::Distance distance=Label::kFar)
 
void JumpIfInNewSpace (Register object, Register scratch, Label *branch, Label::Distance distance=Label::kFar)
 
void JumpIfBlack (Register object, Register scratch0, Register scratch1, Label *on_black, Label::Distance on_black_distance=Label::kFar)
 
void JumpIfDataObject (Register value, Register scratch, Label *not_data_object, Label::Distance not_data_object_distance)
 
void EnsureNotWhite (Register object, Register scratch1, Register scratch2, Label *object_is_white_and_not_data, Label::Distance distance)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteContextSlot (Register context, int offset, Register value, Register scratch, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWriteArray (Register array, Register value, Register index, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void EnterExitFrame (int arg_stack_space=0, bool save_doubles=false)
 
void EnterApiExitFrame (int arg_stack_space)
 
void LeaveExitFrame (bool save_doubles=false)
 
void LeaveApiExitFrame ()
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void StoreToSafepointRegisterSlot (Register dst, const Immediate &imm)
 
void StoreToSafepointRegisterSlot (Register dst, Register src)
 
void LoadFromSafepointRegisterSlot (Register dst, Register src)
 
void InitializeRootRegister ()
 
void SetCallKind (Register dst, CallKind kind)
 
void InvokeCode (Register code, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeCode (Handle< Code > code, const ParameterCount &expected, const ParameterCount &actual, RelocInfo::Mode rmode, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeFunction (Register function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeFunction (Handle< JSFunction > function, const ParameterCount &actual, InvokeFlag flag, const CallWrapper &call_wrapper, CallKind call_kind)
 
void InvokeBuiltin (Builtins::JavaScript id, InvokeFlag flag, const CallWrapper &call_wrapper=NullCallWrapper())
 
void GetBuiltinFunction (Register target, Builtins::JavaScript id)
 
void GetBuiltinEntry (Register target, Builtins::JavaScript id)
 
void InitializeSmiConstantRegister ()
 
void Integer32ToSmi (Register dst, Register src)
 
void Integer32ToSmiField (const Operand &dst, Register src)
 
void Integer64PlusConstantToSmi (Register dst, Register src, int constant)
 
void SmiToInteger32 (Register dst, Register src)
 
void SmiToInteger32 (Register dst, const Operand &src)
 
void SmiToInteger64 (Register dst, Register src)
 
void SmiToInteger64 (Register dst, const Operand &src)
 
void PositiveSmiTimesPowerOfTwoToInteger64 (Register dst, Register src, int power)
 
void PositiveSmiDivPowerOfTwoToInteger32 (Register dst, Register src, int power)
 
void SmiOrIfSmis (Register dst, Register src1, Register src2, Label *on_not_smis, Label::Distance near_jump=Label::kFar)
 
void SmiCompare (Register smi1, Register smi2)
 
void SmiCompare (Register dst, Smi *src)
 
void SmiCompare (Register dst, const Operand &src)
 
void SmiCompare (const Operand &dst, Register src)
 
void SmiCompare (const Operand &dst, Smi *src)
 
void SmiCompareInteger32 (const Operand &dst, Register src)
 
void SmiTest (Register src)
 
Condition CheckSmi (Register src)
 
Condition CheckSmi (const Operand &src)
 
Condition CheckNonNegativeSmi (Register src)
 
Condition CheckBothSmi (Register first, Register second)
 
Condition CheckBothNonNegativeSmi (Register first, Register second)
 
Condition CheckEitherSmi (Register first, Register second, Register scratch=kScratchRegister)
 
Condition CheckIsMinSmi (Register src)
 
Condition CheckInteger32ValidSmiValue (Register src)
 
Condition CheckUInteger32ValidSmiValue (Register src)
 
void CheckSmiToIndicator (Register dst, Register src)
 
void CheckSmiToIndicator (Register dst, const Operand &src)
 
void JumpIfNotValidSmiValue (Register src, Label *on_invalid, Label::Distance near_jump=Label::kFar)
 
void JumpIfUIntNotValidSmiValue (Register src, Label *on_invalid, Label::Distance near_jump=Label::kFar)
 
void JumpIfSmi (Register src, Label *on_smi, Label::Distance near_jump=Label::kFar)
 
void JumpIfNotSmi (Register src, Label *on_not_smi, Label::Distance near_jump=Label::kFar)
 
void JumpUnlessNonNegativeSmi (Register src, Label *on_not_smi, Label::Distance near_jump=Label::kFar)
 
void JumpIfSmiEqualsConstant (Register src, Smi *constant, Label *on_equals, Label::Distance near_jump=Label::kFar)
 
void JumpIfNotBothSmi (Register src1, Register src2, Label *on_not_both_smi, Label::Distance near_jump=Label::kFar)
 
void JumpUnlessBothNonNegativeSmi (Register src1, Register src2, Label *on_not_both_smi, Label::Distance near_jump=Label::kFar)
 
void SmiTryAddConstant (Register dst, Register src, Smi *constant, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiAddConstant (Register dst, Register src, Smi *constant)
 
void SmiAddConstant (const Operand &dst, Smi *constant)
 
void SmiAddConstant (Register dst, Register src, Smi *constant, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiSubConstant (Register dst, Register src, Smi *constant)
 
void SmiSubConstant (Register dst, Register src, Smi *constant, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiNeg (Register dst, Register src, Label *on_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiAdd (Register dst, Register src1, Register src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiAdd (Register dst, Register src1, const Operand &src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiAdd (Register dst, Register src1, Register src2)
 
void SmiSub (Register dst, Register src1, Register src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiSub (Register dst, Register src1, Register src2)
 
void SmiSub (Register dst, Register src1, const Operand &src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiSub (Register dst, Register src1, const Operand &src2)
 
void SmiMul (Register dst, Register src1, Register src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiDiv (Register dst, Register src1, Register src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiMod (Register dst, Register src1, Register src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiNot (Register dst, Register src)
 
void SmiAnd (Register dst, Register src1, Register src2)
 
void SmiOr (Register dst, Register src1, Register src2)
 
void SmiXor (Register dst, Register src1, Register src2)
 
void SmiAndConstant (Register dst, Register src1, Smi *constant)
 
void SmiOrConstant (Register dst, Register src1, Smi *constant)
 
void SmiXorConstant (Register dst, Register src1, Smi *constant)
 
void SmiShiftLeftConstant (Register dst, Register src, int shift_value)
 
void SmiShiftLogicalRightConstant (Register dst, Register src, int shift_value, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiShiftArithmeticRightConstant (Register dst, Register src, int shift_value)
 
void SmiShiftLeft (Register dst, Register src1, Register src2)
 
void SmiShiftLogicalRight (Register dst, Register src1, Register src2, Label *on_not_smi_result, Label::Distance near_jump=Label::kFar)
 
void SmiShiftArithmeticRight (Register dst, Register src1, Register src2)
 
void SelectNonSmi (Register dst, Register src1, Register src2, Label *on_not_smis, Label::Distance near_jump=Label::kFar)
 
SmiIndex SmiToIndex (Register dst, Register src, int shift)
 
SmiIndex SmiToNegativeIndex (Register dst, Register src, int shift)
 
void AddSmiField (Register dst, const Operand &src)
 
void Move (Register dst, Smi *source)
 
void Move (const Operand &dst, Smi *source)
 
void Push (Smi *smi)
 
void Test (const Operand &dst, Smi *source)
 
void JumpIfNotString (Register object, Register object_map, Label *not_string, Label::Distance near_jump=Label::kFar)
 
void JumpIfNotBothSequentialAsciiStrings (Register first_object, Register second_object, Register scratch1, Register scratch2, Label *on_not_both_flat_ascii, Label::Distance near_jump=Label::kFar)
 
void JumpIfInstanceTypeIsNotSequentialAscii (Register instance_type, Register scratch, Label *on_not_flat_ascii_string, Label::Distance near_jump=Label::kFar)
 
void JumpIfBothInstanceTypesAreNotSequentialAscii (Register first_object_instance_type, Register second_object_instance_type, Register scratch1, Register scratch2, Label *on_fail, Label::Distance near_jump=Label::kFar)
 
void Set (Register dst, int64_t x)
 
void Set (const Operand &dst, int64_t x)
 
void Move (Register target, Register source)
 
bool IsUnsafeInt (const int x)
 
void SafeMove (Register dst, Smi *src)
 
void SafePush (Smi *src)
 
void TestBit (const Operand &dst, int bit_index)
 
void Move (Register dst, Handle< Object > source)
 
void Move (const Operand &dst, Handle< Object > source)
 
void Cmp (Register dst, Handle< Object > source)
 
void Cmp (const Operand &dst, Handle< Object > source)
 
void Cmp (Register dst, Smi *src)
 
void Cmp (const Operand &dst, Smi *src)
 
void Push (Handle< Object > source)
 
void LoadHeapObject (Register result, Handle< HeapObject > object)
 
void PushHeapObject (Handle< HeapObject > object)
 
void LoadObject (Register result, Handle< Object > object)
 
void LoadGlobalCell (Register dst, Handle< JSGlobalPropertyCell > cell)
 
void Drop (int stack_elements)
 
void Call (Label *target)
 
void Jump (Address destination, RelocInfo::Mode rmode)
 
void Jump (ExternalReference ext)
 
void Jump (Handle< Code > code_object, RelocInfo::Mode rmode)
 
void Call (Address destination, RelocInfo::Mode rmode)
 
void Call (ExternalReference ext)
 
void Call (Handle< Code > code_object, RelocInfo::Mode rmode, TypeFeedbackId ast_id=TypeFeedbackId::None())
 
int CallSize (Address destination, RelocInfo::Mode rmode)
 
int CallSize (ExternalReference ext)
 
int CallSize (Handle< Code > code_object)
 
int CallSize (Register target)
 
int CallSize (const Operand &target)
 
void CallSelf ()
 
void Pushad ()
 
void Popad ()
 
void Dropad ()
 
void CmpObjectType (Register heap_object, InstanceType type, Register map)
 
void CmpInstanceType (Register map, InstanceType type)
 
void CheckFastElements (Register map, Label *fail, Label::Distance distance=Label::kFar)
 
void CheckFastObjectElements (Register map, Label *fail, Label::Distance distance=Label::kFar)
 
void CheckFastSmiElements (Register map, Label *fail, Label::Distance distance=Label::kFar)
 
void StoreNumberToDoubleElements (Register maybe_number, Register elements, Register index, XMMRegister xmm_scratch, Label *fail)
 
void CompareMap (Register obj, Handle< Map > map, Label *early_success, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void CheckMap (Register obj, Handle< Map > map, Label *fail, SmiCheckType smi_check_type, CompareMapMode mode=REQUIRE_EXACT_MAP)
 
void DispatchMap (Register obj, Handle< Map > map, Handle< Code > success, SmiCheckType smi_check_type)
 
Condition IsObjectStringType (Register heap_object, Register map, Register instance_type)
 
void FCmp ()
 
void ClampUint8 (Register reg)
 
void ClampDoubleToUint8 (XMMRegister input_reg, XMMRegister temp_xmm_reg, Register result_reg)
 
void LoadUint32 (XMMRegister dst, Register src, XMMRegister scratch)
 
void LoadInstanceDescriptors (Register map, Register descriptors)
 
void EnumLength (Register dst, Register map)
 
void NumberOfOwnDescriptors (Register dst, Register map)
 
template<typename Field >
void DecodeField (Register reg)
 
void AssertNumber (Register object)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertSmi (const Operand &object)
 
void AssertZeroExtended (Register reg)
 
void AssertString (Register object)
 
void AssertRootValue (Register src, Heap::RootListIndex root_value_index, const char *message)
 
void PushTryHandler (StackHandler::Kind kind, int handler_index)
 
void PopTryHandler ()
 
void Throw (Register value)
 
void ThrowUncatchable (Register value)
 
void CheckAccessGlobalProxy (Register holder_reg, Register scratch, Label *miss)
 
void GetNumberHash (Register r0, Register scratch)
 
void LoadFromNumberDictionary (Label *miss, Register elements, Register key, Register r0, Register r1, Register r2, Register result)
 
void AllocateInNewSpace (int object_size, Register result, Register result_end, Register scratch, Label *gc_required, AllocationFlags flags)
 
void AllocateInNewSpace (int header_size, ScaleFactor element_size, Register element_count, Register result, Register result_end, Register scratch, Label *gc_required, AllocationFlags flags)
 
void AllocateInNewSpace (Register object_size, Register result, Register result_end, Register scratch, Label *gc_required, AllocationFlags flags)
 
void UndoAllocationInNewSpace (Register object)
 
void AllocateHeapNumber (Register result, Register scratch, Label *gc_required)
 
void AllocateTwoByteString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateAsciiString (Register result, Register length, Register scratch1, Register scratch2, Register scratch3, Label *gc_required)
 
void AllocateTwoByteConsString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiConsString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateTwoByteSlicedString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void AllocateAsciiSlicedString (Register result, Register scratch1, Register scratch2, Label *gc_required)
 
void NegativeZeroTest (Register result, Register op, Label *then_label)
 
void NegativeZeroTest (CodeGenerator *cgen, Register result, Register op, JumpTarget *then_target)
 
void NegativeZeroTest (Register result, Register op1, Register op2, Register scratch, Label *then_label)
 
void TryGetFunctionPrototype (Register function, Register result, Label *miss, bool miss_on_bound_function=false)
 
void IllegalOperation (int num_arguments)
 
void IndexFromHash (Register hash, Register index)
 
void LoadContext (Register dst, int context_chain_length)
 
void LoadTransitionedArrayMapConditional (ElementsKind expected_kind, ElementsKind transitioned_kind, Register map_in_out, Register scratch, Label *no_map_match)
 
void LoadInitialArrayMap (Register function_in, Register scratch, Register map_out, bool can_have_holes)
 
void LoadGlobalFunction (int index, Register function)
 
void LoadGlobalFunctionInitialMap (Register function, Register map)
 
void CallStub (CodeStub *stub, TypeFeedbackId ast_id=TypeFeedbackId::None())
 
void TailCallStub (CodeStub *stub)
 
void StubReturn (int argc)
 
void CallRuntime (const Runtime::Function *f, int num_arguments)
 
void CallRuntimeSaveDoubles (Runtime::FunctionId id)
 
void CallRuntime (Runtime::FunctionId id, int num_arguments)
 
void CallExternalReference (const ExternalReference &ext, int num_arguments)
 
void TailCallExternalReference (const ExternalReference &ext, int num_arguments, int result_size)
 
void TailCallRuntime (Runtime::FunctionId fid, int num_arguments, int result_size)
 
void JumpToExternalReference (const ExternalReference &ext, int result_size)
 
void PrepareCallApiFunction (int arg_stack_space)
 
void CallApiFunctionAndReturn (Address function_address, int stack_space)
 
void PrepareCallCFunction (int num_arguments)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
int ArgumentStackSlotsForCFunctionCall (int num_arguments)
 
void Ret ()
 
void Ret (int bytes_dropped, Register scratch)
 
Handle< ObjectCodeObject ()
 
void CopyBytes (Register destination, Register source, Register length, int min_length=0, Register scratch=kScratchRegister)
 
void InitializeFieldsWithFiller (Register start_offset, Register end_offset, Register filler)
 
void SetCounter (StatsCounter *counter, int value)
 
void IncrementCounter (StatsCounter *counter, int value)
 
void DecrementCounter (StatsCounter *counter, int value)
 
void Assert (Condition cc, const char *msg)
 
void AssertFastElements (Register elements)
 
void Check (Condition cc, const char *msg)
 
void Abort (const char *msg)
 
void CheckStackAlignment ()
 
void set_generating_stub (bool value)
 
bool generating_stub ()
 
void set_allow_stub_calls (bool value)
 
bool allow_stub_calls ()
 
void set_has_frame (bool value)
 
bool has_frame ()
 
bool AllowThisStubCall (CodeStub *stub)
 
void EnterFrame (StackFrame::Type type)
 
void LeaveFrame (StackFrame::Type type)
 
void CheckEnumCache (Register null_value, Label *call_runtime)
 
- Public Member Functions inherited from Assembler
 Assembler (Isolate *isolate, void *buffer, int buffer_size)
 
 ~Assembler ()
 
void set_emit_debug_code (bool value)
 
void set_predictable_code_size (bool value)
 
void GetCode (CodeDesc *desc)
 
void bind (Label *L)
 
int branch_offset (Label *L, bool jump_elimination_allowed)
 
void label_at_put (Label *L, int at_offset)
 
 INLINE (static Address target_pointer_address_at(Address pc))
 
 INLINE (static Address target_pointer_at(Address pc))
 
 INLINE (static void set_target_pointer_at(Address pc, Address target))
 
 INLINE (static Address target_address_at(Address pc))
 
 INLINE (static void set_target_address_at(Address pc, Address target))
 
 INLINE (static Address target_address_from_return_address(Address pc))
 
 INLINE (static Address return_address_from_call_start(Address pc))
 
void Align (int m)
 
void CodeTargetAlign ()
 
void b (int branch_offset, Condition cond=al)
 
void bl (int branch_offset, Condition cond=al)
 
void blx (int branch_offset)
 
void blx (Register target, Condition cond=al)
 
void bx (Register target, Condition cond=al)
 
void b (Label *L, Condition cond=al)
 
void b (Condition cond, Label *L)
 
void bl (Label *L, Condition cond=al)
 
void bl (Condition cond, Label *L)
 
void blx (Label *L)
 
void and_ (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void eor (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void sub (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void sub (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void rsb (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void add (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void add (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void adc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void sbc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void rsc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void tst (Register src1, const Operand &src2, Condition cond=al)
 
void tst (Register src1, Register src2, Condition cond=al)
 
void teq (Register src1, const Operand &src2, Condition cond=al)
 
void cmp (Register src1, const Operand &src2, Condition cond=al)
 
void cmp (Register src1, Register src2, Condition cond=al)
 
void cmp_raw_immediate (Register src1, int raw_immediate, Condition cond=al)
 
void cmn (Register src1, const Operand &src2, Condition cond=al)
 
void orr (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void orr (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void mov (Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al)
 
void mov (Register dst, Register src, SBit s=LeaveCC, Condition cond=al)
 
void movw (Register reg, uint32_t immediate, Condition cond=al)
 
void movt (Register reg, uint32_t immediate, Condition cond=al)
 
void bic (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void mvn (Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al)
 
void mla (Register dst, Register src1, Register src2, Register srcA, SBit s=LeaveCC, Condition cond=al)
 
void mls (Register dst, Register src1, Register src2, Register srcA, Condition cond=al)
 
void sdiv (Register dst, Register src1, Register src2, Condition cond=al)
 
void mul (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void smlal (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void smull (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void umlal (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void umull (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void clz (Register dst, Register src, Condition cond=al)
 
void usat (Register dst, int satpos, const Operand &src, Condition cond=al)
 
void ubfx (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void sbfx (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void bfc (Register dst, int lsb, int width, Condition cond=al)
 
void bfi (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void mrs (Register dst, SRegister s, Condition cond=al)
 
void msr (SRegisterFieldMask fields, const Operand &src, Condition cond=al)
 
void ldr (Register dst, const MemOperand &src, Condition cond=al)
 
void str (Register src, const MemOperand &dst, Condition cond=al)
 
void ldrb (Register dst, const MemOperand &src, Condition cond=al)
 
void strb (Register src, const MemOperand &dst, Condition cond=al)
 
void ldrh (Register dst, const MemOperand &src, Condition cond=al)
 
void strh (Register src, const MemOperand &dst, Condition cond=al)
 
void ldrsb (Register dst, const MemOperand &src, Condition cond=al)
 
void ldrsh (Register dst, const MemOperand &src, Condition cond=al)
 
void ldrd (Register dst1, Register dst2, const MemOperand &src, Condition cond=al)
 
void strd (Register src1, Register src2, const MemOperand &dst, Condition cond=al)
 
void ldm (BlockAddrMode am, Register base, RegList dst, Condition cond=al)
 
void stm (BlockAddrMode am, Register base, RegList src, Condition cond=al)
 
void stop (const char *msg, Condition cond=al, int32_t code=kDefaultStopCode)
 
void bkpt (uint32_t imm16)
 
void svc (uint32_t imm24, Condition cond=al)
 
void cdp (Coprocessor coproc, int opcode_1, CRegister crd, CRegister crn, CRegister crm, int opcode_2, Condition cond=al)
 
void cdp2 (Coprocessor coproc, int opcode_1, CRegister crd, CRegister crn, CRegister crm, int opcode_2)
 
void mcr (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0, Condition cond=al)
 
void mcr2 (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0)
 
void mrc (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0, Condition cond=al)
 
void mrc2 (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0)
 
void ldc (Coprocessor coproc, CRegister crd, const MemOperand &src, LFlag l=Short, Condition cond=al)
 
void ldc (Coprocessor coproc, CRegister crd, Register base, int option, LFlag l=Short, Condition cond=al)
 
void ldc2 (Coprocessor coproc, CRegister crd, const MemOperand &src, LFlag l=Short)
 
void ldc2 (Coprocessor coproc, CRegister crd, Register base, int option, LFlag l=Short)
 
void vldr (const DwVfpRegister dst, const Register base, int offset, const Condition cond=al)
 
void vldr (const DwVfpRegister dst, const MemOperand &src, const Condition cond=al)
 
void vldr (const SwVfpRegister dst, const Register base, int offset, const Condition cond=al)
 
void vldr (const SwVfpRegister dst, const MemOperand &src, const Condition cond=al)
 
void vstr (const DwVfpRegister src, const Register base, int offset, const Condition cond=al)
 
void vstr (const DwVfpRegister src, const MemOperand &dst, const Condition cond=al)
 
void vstr (const SwVfpRegister src, const Register base, int offset, const Condition cond=al)
 
void vstr (const SwVfpRegister src, const MemOperand &dst, const Condition cond=al)
 
void vldm (BlockAddrMode am, Register base, DwVfpRegister first, DwVfpRegister last, Condition cond=al)
 
void vstm (BlockAddrMode am, Register base, DwVfpRegister first, DwVfpRegister last, Condition cond=al)
 
void vldm (BlockAddrMode am, Register base, SwVfpRegister first, SwVfpRegister last, Condition cond=al)
 
void vstm (BlockAddrMode am, Register base, SwVfpRegister first, SwVfpRegister last, Condition cond=al)
 
void vmov (const DwVfpRegister dst, double imm, const Register scratch=no_reg, const Condition cond=al)
 
void vmov (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al)
 
void vmov (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vmov (const DwVfpRegister dst, const Register src1, const Register src2, const Condition cond=al)
 
void vmov (const Register dst1, const Register dst2, const DwVfpRegister src, const Condition cond=al)
 
void vmov (const SwVfpRegister dst, const Register src, const Condition cond=al)
 
void vmov (const Register dst, const SwVfpRegister src, const Condition cond=al)
 
void vcvt_f64_s32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f32_s32 (const SwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f64_u32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_s32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_u32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f64_f32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vneg (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vabs (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vadd (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vsub (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vmul (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vdiv (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vcmp (const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vcmp (const DwVfpRegister src1, const double src2, const Condition cond=al)
 
void vmrs (const Register dst, const Condition cond=al)
 
void vmsr (const Register dst, const Condition cond=al)
 
void vsqrt (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void nop (int type=0)
 
void push (Register src, Condition cond=al)
 
void pop (Register dst, Condition cond=al)
 
void pop ()
 
void jmp (Label *L)
 
bool predictable_code_size () const
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
bool ImmediateFitsAddrMode1Instruction (int32_t imm32)
 
void RecordJSReturn ()
 
void RecordDebugBreakSlot ()
 
void SetRecordedAstId (TypeFeedbackId ast_id)
 
TypeFeedbackId RecordedAstId ()
 
void ClearRecordedAstId ()
 
void RecordComment (const char *msg)
 
void RecordConstPool (int size)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
int pc_offset () const
 
PositionsRecorderpositions_recorder ()
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr)
 
void BlockConstPoolFor (int instructions)
 
void CheckConstPool (bool force_emit, bool require_jump)
 
 Assembler (Isolate *isolate, void *buffer, int buffer_size)
 
 ~Assembler ()
 
void set_emit_debug_code (bool value)
 
void set_predictable_code_size (bool value)
 
void GetCode (CodeDesc *desc)
 
void Align (int m)
 
void Nop (int bytes=1)
 
void CodeTargetAlign ()
 
void pushad ()
 
void popad ()
 
void pushfd ()
 
void popfd ()
 
void push (const Immediate &x)
 
void push_imm32 (int32_t imm32)
 
void push (Register src)
 
void push (const Operand &src)
 
void pop (Register dst)
 
void pop (const Operand &dst)
 
void enter (const Immediate &size)
 
void leave ()
 
void mov_b (Register dst, Register src)
 
void mov_b (Register dst, const Operand &src)
 
void mov_b (Register dst, int8_t imm8)
 
void mov_b (const Operand &dst, int8_t imm8)
 
void mov_b (const Operand &dst, Register src)
 
void mov_w (Register dst, const Operand &src)
 
void mov_w (const Operand &dst, Register src)
 
void mov (Register dst, int32_t imm32)
 
void mov (Register dst, const Immediate &x)
 
void mov (Register dst, Handle< Object > handle)
 
void mov (Register dst, const Operand &src)
 
void mov (Register dst, Register src)
 
void mov (const Operand &dst, const Immediate &x)
 
void mov (const Operand &dst, Handle< Object > handle)
 
void mov (const Operand &dst, Register src)
 
void movsx_b (Register dst, Register src)
 
void movsx_b (Register dst, const Operand &src)
 
void movsx_w (Register dst, Register src)
 
void movsx_w (Register dst, const Operand &src)
 
void movzx_b (Register dst, Register src)
 
void movzx_b (Register dst, const Operand &src)
 
void movzx_w (Register dst, Register src)
 
void movzx_w (Register dst, const Operand &src)
 
void cmov (Condition cc, Register dst, Register src)
 
void cmov (Condition cc, Register dst, const Operand &src)
 
void cld ()
 
void rep_movs ()
 
void rep_stos ()
 
void stos ()
 
void xchg (Register dst, Register src)
 
void adc (Register dst, int32_t imm32)
 
void adc (Register dst, const Operand &src)
 
void add (Register dst, Register src)
 
void add (Register dst, const Operand &src)
 
void add (const Operand &dst, Register src)
 
void add (Register dst, const Immediate &imm)
 
void add (const Operand &dst, const Immediate &x)
 
void and_ (Register dst, int32_t imm32)
 
void and_ (Register dst, const Immediate &x)
 
void and_ (Register dst, Register src)
 
void and_ (Register dst, const Operand &src)
 
void and_ (const Operand &dst, Register src)
 
void and_ (const Operand &dst, const Immediate &x)
 
void cmpb (Register reg, int8_t imm8)
 
void cmpb (const Operand &op, int8_t imm8)
 
void cmpb (Register reg, const Operand &op)
 
void cmpb (const Operand &op, Register reg)
 
void cmpb_al (const Operand &op)
 
void cmpw_ax (const Operand &op)
 
void cmpw (const Operand &op, Immediate imm16)
 
void cmp (Register reg, int32_t imm32)
 
void cmp (Register reg, Handle< Object > handle)
 
void cmp (Register reg0, Register reg1)
 
void cmp (Register reg, const Operand &op)
 
void cmp (Register reg, const Immediate &imm)
 
void cmp (const Operand &op, const Immediate &imm)
 
void cmp (const Operand &op, Handle< Object > handle)
 
void dec_b (Register dst)
 
void dec_b (const Operand &dst)
 
void dec (Register dst)
 
void dec (const Operand &dst)
 
void cdq ()
 
void idiv (Register src)
 
void imul (Register src)
 
void imul (Register dst, Register src)
 
void imul (Register dst, const Operand &src)
 
void imul (Register dst, Register src, int32_t imm32)
 
void inc (Register dst)
 
void inc (const Operand &dst)
 
void lea (Register dst, const Operand &src)
 
void mul (Register src)
 
void neg (Register dst)
 
void not_ (Register dst)
 
void or_ (Register dst, int32_t imm32)
 
void or_ (Register dst, Register src)
 
void or_ (Register dst, const Operand &src)
 
void or_ (const Operand &dst, Register src)
 
void or_ (Register dst, const Immediate &imm)
 
void or_ (const Operand &dst, const Immediate &x)
 
void rcl (Register dst, uint8_t imm8)
 
void rcr (Register dst, uint8_t imm8)
 
void sar (Register dst, uint8_t imm8)
 
void sar_cl (Register dst)
 
void sbb (Register dst, const Operand &src)
 
void shld (Register dst, Register src)
 
void shld (Register dst, const Operand &src)
 
void shl (Register dst, uint8_t imm8)
 
void shl_cl (Register dst)
 
void shrd (Register dst, Register src)
 
void shrd (Register dst, const Operand &src)
 
void shr (Register dst, uint8_t imm8)
 
void shr_cl (Register dst)
 
void sub (Register dst, const Immediate &imm)
 
void sub (const Operand &dst, const Immediate &x)
 
void sub (Register dst, Register src)
 
void sub (Register dst, const Operand &src)
 
void sub (const Operand &dst, Register src)
 
void test (Register reg, const Immediate &imm)
 
void test (Register reg0, Register reg1)
 
void test (Register reg, const Operand &op)
 
void test_b (Register reg, const Operand &op)
 
void test (const Operand &op, const Immediate &imm)
 
void test_b (Register reg, uint8_t imm8)
 
void test_b (const Operand &op, uint8_t imm8)
 
void xor_ (Register dst, int32_t imm32)
 
void xor_ (Register dst, Register src)
 
void xor_ (Register dst, const Operand &src)
 
void xor_ (const Operand &dst, Register src)
 
void xor_ (Register dst, const Immediate &imm)
 
void xor_ (const Operand &dst, const Immediate &x)
 
void bt (const Operand &dst, Register src)
 
void bts (Register dst, Register src)
 
void bts (const Operand &dst, Register src)
 
void hlt ()
 
void int3 ()
 
void nop ()
 
void rdtsc ()
 
void ret (int imm16)
 
void bind (Label *L)
 
void call (Label *L)
 
void call (byte *entry, RelocInfo::Mode rmode)
 
int CallSize (const Operand &adr)
 
void call (Register reg)
 
void call (const Operand &adr)
 
int CallSize (Handle< Code > code, RelocInfo::Mode mode)
 
void call (Handle< Code > code, RelocInfo::Mode rmode, TypeFeedbackId id=TypeFeedbackId::None())
 
void jmp (Label *L, Label::Distance distance=Label::kFar)
 
void jmp (byte *entry, RelocInfo::Mode rmode)
 
void jmp (Register reg)
 
void jmp (const Operand &adr)
 
void jmp (Handle< Code > code, RelocInfo::Mode rmode)
 
void j (Condition cc, Label *L, Label::Distance distance=Label::kFar)
 
void j (Condition cc, byte *entry, RelocInfo::Mode rmode)
 
void j (Condition cc, Handle< Code > code)
 
void fld (int i)
 
void fstp (int i)
 
void fld1 ()
 
void fldz ()
 
void fldpi ()
 
void fldln2 ()
 
void fld_s (const Operand &adr)
 
void fld_d (const Operand &adr)
 
void fstp_s (const Operand &adr)
 
void fstp_d (const Operand &adr)
 
void fst_d (const Operand &adr)
 
void fild_s (const Operand &adr)
 
void fild_d (const Operand &adr)
 
void fist_s (const Operand &adr)
 
void fistp_s (const Operand &adr)
 
void fistp_d (const Operand &adr)
 
void fisttp_s (const Operand &adr)
 
void fisttp_d (const Operand &adr)
 
void fabs ()
 
void fchs ()
 
void fcos ()
 
void fsin ()
 
void fptan ()
 
void fyl2x ()
 
void f2xm1 ()
 
void fscale ()
 
void fninit ()
 
void fadd (int i)
 
void fsub (int i)
 
void fmul (int i)
 
void fdiv (int i)
 
void fisub_s (const Operand &adr)
 
void faddp (int i=1)
 
void fsubp (int i=1)
 
void fsubrp (int i=1)
 
void fmulp (int i=1)
 
void fdivp (int i=1)
 
void fprem ()
 
void fprem1 ()
 
void fxch (int i=1)
 
void fincstp ()
 
void ffree (int i=0)
 
void ftst ()
 
void fucomp (int i)
 
void fucompp ()
 
void fucomi (int i)
 
void fucomip ()
 
void fcompp ()
 
void fnstsw_ax ()
 
void fwait ()
 
void fnclex ()
 
void frndint ()
 
void sahf ()
 
void setcc (Condition cc, Register reg)
 
void cpuid ()
 
void cvttss2si (Register dst, const Operand &src)
 
void cvttsd2si (Register dst, const Operand &src)
 
void cvtsd2si (Register dst, XMMRegister src)
 
void cvtsi2sd (XMMRegister dst, Register src)
 
void cvtsi2sd (XMMRegister dst, const Operand &src)
 
void cvtss2sd (XMMRegister dst, XMMRegister src)
 
void cvtsd2ss (XMMRegister dst, XMMRegister src)
 
void addsd (XMMRegister dst, XMMRegister src)
 
void subsd (XMMRegister dst, XMMRegister src)
 
void mulsd (XMMRegister dst, XMMRegister src)
 
void divsd (XMMRegister dst, XMMRegister src)
 
void xorpd (XMMRegister dst, XMMRegister src)
 
void xorps (XMMRegister dst, XMMRegister src)
 
void sqrtsd (XMMRegister dst, XMMRegister src)
 
void andpd (XMMRegister dst, XMMRegister src)
 
void orpd (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, const Operand &src)
 
void roundsd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void movmskpd (Register dst, XMMRegister src)
 
void cmpltsd (XMMRegister dst, XMMRegister src)
 
void pcmpeqd (XMMRegister dst, XMMRegister src)
 
void movaps (XMMRegister dst, XMMRegister src)
 
void movdqa (XMMRegister dst, const Operand &src)
 
void movdqa (const Operand &dst, XMMRegister src)
 
void movdqu (XMMRegister dst, const Operand &src)
 
void movdqu (const Operand &dst, XMMRegister src)
 
void movdbl (XMMRegister dst, const Operand &src)
 
void movdbl (const Operand &dst, XMMRegister src)
 
void movd (XMMRegister dst, Register src)
 
void movd (XMMRegister dst, const Operand &src)
 
void movd (Register dst, XMMRegister src)
 
void movd (const Operand &dst, XMMRegister src)
 
void movsd (XMMRegister dst, XMMRegister src)
 
void movss (XMMRegister dst, const Operand &src)
 
void movss (const Operand &dst, XMMRegister src)
 
void movss (XMMRegister dst, XMMRegister src)
 
void extractps (Register dst, XMMRegister src, byte imm8)
 
void pand (XMMRegister dst, XMMRegister src)
 
void pxor (XMMRegister dst, XMMRegister src)
 
void por (XMMRegister dst, XMMRegister src)
 
void ptest (XMMRegister dst, XMMRegister src)
 
void psllq (XMMRegister reg, int8_t shift)
 
void psllq (XMMRegister dst, XMMRegister src)
 
void psrlq (XMMRegister reg, int8_t shift)
 
void psrlq (XMMRegister dst, XMMRegister src)
 
void pshufd (XMMRegister dst, XMMRegister src, int8_t shuffle)
 
void pextrd (Register dst, XMMRegister src, int8_t offset)
 
void pextrd (const Operand &dst, XMMRegister src, int8_t offset)
 
void pinsrd (XMMRegister dst, Register src, int8_t offset)
 
void pinsrd (XMMRegister dst, const Operand &src, int8_t offset)
 
void movntdqa (XMMRegister dst, const Operand &src)
 
void movntdq (const Operand &dst, XMMRegister src)
 
void prefetch (const Operand &src, int level)
 
void Print ()
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordJSReturn ()
 
void RecordDebugBreakSlot ()
 
void RecordComment (const char *msg, bool force=false)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
int pc_offset () const
 
bool overflow () const
 
int available_space () const
 
PositionsRecorderpositions_recorder ()
 
int relocation_writer_size ()
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
 Assembler (Isolate *isolate, void *buffer, int buffer_size)
 
 ~Assembler ()
 
void set_emit_debug_code (bool value)
 
void set_predictable_code_size (bool value)
 
void GetCode (CodeDesc *desc)
 
void bind (Label *L)
 
bool is_near (Label *L)
 
int32_t branch_offset (Label *L, bool jump_elimination_allowed)
 
int32_t shifted_branch_offset (Label *L, bool jump_elimination_allowed)
 
uint32_t jump_address (Label *L)
 
void label_at_put (Label *L, int at_offset)
 
void Align (int m)
 
void CodeTargetAlign ()
 
void nop (unsigned int type=0)
 
void b (int16_t offset)
 
void b (Label *L)
 
void bal (int16_t offset)
 
void bal (Label *L)
 
void beq (Register rs, Register rt, int16_t offset)
 
void beq (Register rs, Register rt, Label *L)
 
void bgez (Register rs, int16_t offset)
 
void bgezal (Register rs, int16_t offset)
 
void bgtz (Register rs, int16_t offset)
 
void blez (Register rs, int16_t offset)
 
void bltz (Register rs, int16_t offset)
 
void bltzal (Register rs, int16_t offset)
 
void bne (Register rs, Register rt, int16_t offset)
 
void bne (Register rs, Register rt, Label *L)
 
void j (int32_t target)
 
void jal (int32_t target)
 
void jalr (Register rs, Register rd=ra)
 
void jr (Register target)
 
void j_or_jr (int32_t target, Register rs)
 
void jal_or_jalr (int32_t target, Register rs)
 
void addu (Register rd, Register rs, Register rt)
 
void subu (Register rd, Register rs, Register rt)
 
void mult (Register rs, Register rt)
 
void multu (Register rs, Register rt)
 
void div (Register rs, Register rt)
 
void divu (Register rs, Register rt)
 
void mul (Register rd, Register rs, Register rt)
 
void addiu (Register rd, Register rs, int32_t j)
 
void and_ (Register rd, Register rs, Register rt)
 
void or_ (Register rd, Register rs, Register rt)
 
void xor_ (Register rd, Register rs, Register rt)
 
void nor (Register rd, Register rs, Register rt)
 
void andi (Register rd, Register rs, int32_t j)
 
void ori (Register rd, Register rs, int32_t j)
 
void xori (Register rd, Register rs, int32_t j)
 
void lui (Register rd, int32_t j)
 
void sll (Register rd, Register rt, uint16_t sa, bool coming_from_nop=false)
 
void sllv (Register rd, Register rt, Register rs)
 
void srl (Register rd, Register rt, uint16_t sa)
 
void srlv (Register rd, Register rt, Register rs)
 
void sra (Register rt, Register rd, uint16_t sa)
 
void srav (Register rt, Register rd, Register rs)
 
void rotr (Register rd, Register rt, uint16_t sa)
 
void rotrv (Register rd, Register rt, Register rs)
 
void lb (Register rd, const MemOperand &rs)
 
void lbu (Register rd, const MemOperand &rs)
 
void lh (Register rd, const MemOperand &rs)
 
void lhu (Register rd, const MemOperand &rs)
 
void lw (Register rd, const MemOperand &rs)
 
void lwl (Register rd, const MemOperand &rs)
 
void lwr (Register rd, const MemOperand &rs)
 
void sb (Register rd, const MemOperand &rs)
 
void sh (Register rd, const MemOperand &rs)
 
void sw (Register rd, const MemOperand &rs)
 
void swl (Register rd, const MemOperand &rs)
 
void swr (Register rd, const MemOperand &rs)
 
void break_ (uint32_t code, bool break_as_stop=false)
 
void stop (const char *msg, uint32_t code=kMaxStopCode)
 
void tge (Register rs, Register rt, uint16_t code)
 
void tgeu (Register rs, Register rt, uint16_t code)
 
void tlt (Register rs, Register rt, uint16_t code)
 
void tltu (Register rs, Register rt, uint16_t code)
 
void teq (Register rs, Register rt, uint16_t code)
 
void tne (Register rs, Register rt, uint16_t code)
 
void mfhi (Register rd)
 
void mflo (Register rd)
 
void slt (Register rd, Register rs, Register rt)
 
void sltu (Register rd, Register rs, Register rt)
 
void slti (Register rd, Register rs, int32_t j)
 
void sltiu (Register rd, Register rs, int32_t j)
 
void movz (Register rd, Register rs, Register rt)
 
void movn (Register rd, Register rs, Register rt)
 
void movt (Register rd, Register rs, uint16_t cc=0)
 
void movf (Register rd, Register rs, uint16_t cc=0)
 
void clz (Register rd, Register rs)
 
void ins_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void ext_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void lwc1 (FPURegister fd, const MemOperand &src)
 
void ldc1 (FPURegister fd, const MemOperand &src)
 
void swc1 (FPURegister fs, const MemOperand &dst)
 
void sdc1 (FPURegister fs, const MemOperand &dst)
 
void mtc1 (Register rt, FPURegister fs)
 
void mfc1 (Register rt, FPURegister fs)
 
void ctc1 (Register rt, FPUControlRegister fs)
 
void cfc1 (Register rt, FPUControlRegister fs)
 
void add_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void sub_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void mul_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void div_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void abs_d (FPURegister fd, FPURegister fs)
 
void mov_d (FPURegister fd, FPURegister fs)
 
void neg_d (FPURegister fd, FPURegister fs)
 
void sqrt_d (FPURegister fd, FPURegister fs)
 
void cvt_w_s (FPURegister fd, FPURegister fs)
 
void cvt_w_d (FPURegister fd, FPURegister fs)
 
void trunc_w_s (FPURegister fd, FPURegister fs)
 
void trunc_w_d (FPURegister fd, FPURegister fs)
 
void round_w_s (FPURegister fd, FPURegister fs)
 
void round_w_d (FPURegister fd, FPURegister fs)
 
void floor_w_s (FPURegister fd, FPURegister fs)
 
void floor_w_d (FPURegister fd, FPURegister fs)
 
void ceil_w_s (FPURegister fd, FPURegister fs)
 
void ceil_w_d (FPURegister fd, FPURegister fs)
 
void cvt_l_s (FPURegister fd, FPURegister fs)
 
void cvt_l_d (FPURegister fd, FPURegister fs)
 
void trunc_l_s (FPURegister fd, FPURegister fs)
 
void trunc_l_d (FPURegister fd, FPURegister fs)
 
void round_l_s (FPURegister fd, FPURegister fs)
 
void round_l_d (FPURegister fd, FPURegister fs)
 
void floor_l_s (FPURegister fd, FPURegister fs)
 
void floor_l_d (FPURegister fd, FPURegister fs)
 
void ceil_l_s (FPURegister fd, FPURegister fs)
 
void ceil_l_d (FPURegister fd, FPURegister fs)
 
void cvt_s_w (FPURegister fd, FPURegister fs)
 
void cvt_s_l (FPURegister fd, FPURegister fs)
 
void cvt_s_d (FPURegister fd, FPURegister fs)
 
void cvt_d_w (FPURegister fd, FPURegister fs)
 
void cvt_d_l (FPURegister fd, FPURegister fs)
 
void cvt_d_s (FPURegister fd, FPURegister fs)
 
void c (FPUCondition cond, SecondaryField fmt, FPURegister ft, FPURegister fs, uint16_t cc=0)
 
void bc1f (int16_t offset, uint16_t cc=0)
 
void bc1f (Label *L, uint16_t cc=0)
 
void bc1t (int16_t offset, uint16_t cc=0)
 
void bc1t (Label *L, uint16_t cc=0)
 
void fcmp (FPURegister src1, const double src2, FPUCondition cond)
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
void RecordJSReturn ()
 
void RecordDebugBreakSlot ()
 
void SetRecordedAstId (TypeFeedbackId ast_id)
 
TypeFeedbackId RecordedAstId ()
 
void ClearRecordedAstId ()
 
void RecordComment (const char *msg)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
int32_t pc_offset () const
 
PositionsRecorderpositions_recorder ()
 
void BlockTrampolinePoolFor (int instructions)
 
bool overflow () const
 
int available_space () const
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr)
 
void CheckTrampolinePool ()
 
 Assembler (Isolate *isolate, void *buffer, int buffer_size)
 
 ~Assembler ()
 
void set_emit_debug_code (bool value)
 
void set_predictable_code_size (bool value)
 
void GetCode (CodeDesc *desc)
 
Handle< Objectcode_target_object_handle_at (Address pc)
 
void Align (int m)
 
void Nop (int bytes=1)
 
void CodeTargetAlign ()
 
void pushfq ()
 
void popfq ()
 
void push (Immediate value)
 
void push_imm32 (int32_t imm32)
 
void push (Register src)
 
void push (const Operand &src)
 
void pop (Register dst)
 
void pop (const Operand &dst)
 
void enter (Immediate size)
 
void leave ()
 
void movb (Register dst, const Operand &src)
 
void movb (Register dst, Immediate imm)
 
void movb (const Operand &dst, Register src)
 
void movw (const Operand &dst, Register src)
 
void movl (Register dst, Register src)
 
void movl (Register dst, const Operand &src)
 
void movl (const Operand &dst, Register src)
 
void movl (const Operand &dst, Immediate imm)
 
void movl (Register dst, Immediate imm32)
 
void movq (const Operand &dst, Register src)
 
void movq (Register dst, const Operand &src)
 
void movq (Register dst, Register src)
 
void movq (Register dst, Immediate x)
 
void movl (const Operand &dst, Label *src)
 
void movq (const Operand &dst, Immediate value)
 
void movq (Register dst, void *ptr, RelocInfo::Mode rmode)
 
void movq (Register dst, int64_t value, RelocInfo::Mode rmode)
 
void movq (Register dst, const char *s, RelocInfo::Mode rmode)
 
void movq (Register dst, ExternalReference ext)
 
void movq (Register dst, Handle< Object > handle, RelocInfo::Mode rmode)
 
void movsxbq (Register dst, const Operand &src)
 
void movsxwq (Register dst, const Operand &src)
 
void movsxlq (Register dst, Register src)
 
void movsxlq (Register dst, const Operand &src)
 
void movzxbq (Register dst, const Operand &src)
 
void movzxbl (Register dst, const Operand &src)
 
void movzxwq (Register dst, const Operand &src)
 
void movzxwl (Register dst, const Operand &src)
 
void repmovsb ()
 
void repmovsw ()
 
void repmovsl ()
 
void repmovsq ()
 
void load_rax (void *ptr, RelocInfo::Mode rmode)
 
void load_rax (ExternalReference ext)
 
void cmovq (Condition cc, Register dst, Register src)
 
void cmovq (Condition cc, Register dst, const Operand &src)
 
void cmovl (Condition cc, Register dst, Register src)
 
void cmovl (Condition cc, Register dst, const Operand &src)
 
void xchg (Register dst, Register src)
 
void addl (Register dst, Register src)
 
void addl (Register dst, Immediate src)
 
void addl (Register dst, const Operand &src)
 
void addl (const Operand &dst, Immediate src)
 
void addl (const Operand &dst, Register src)
 
void addq (Register dst, Register src)
 
void addq (Register dst, const Operand &src)
 
void addq (const Operand &dst, Register src)
 
void addq (Register dst, Immediate src)
 
void addq (const Operand &dst, Immediate src)
 
void sbbl (Register dst, Register src)
 
void sbbq (Register dst, Register src)
 
void cmpb (Register dst, Immediate src)
 
void cmpb_al (Immediate src)
 
void cmpb (Register dst, Register src)
 
void cmpb (Register dst, const Operand &src)
 
void cmpb (const Operand &dst, Register src)
 
void cmpb (const Operand &dst, Immediate src)
 
void cmpw (const Operand &dst, Immediate src)
 
void cmpw (Register dst, Immediate src)
 
void cmpw (Register dst, const Operand &src)
 
void cmpw (Register dst, Register src)
 
void cmpw (const Operand &dst, Register src)
 
void cmpl (Register dst, Register src)
 
void cmpl (Register dst, const Operand &src)
 
void cmpl (const Operand &dst, Register src)
 
void cmpl (Register dst, Immediate src)
 
void cmpl (const Operand &dst, Immediate src)
 
void cmpq (Register dst, Register src)
 
void cmpq (Register dst, const Operand &src)
 
void cmpq (const Operand &dst, Register src)
 
void cmpq (Register dst, Immediate src)
 
void cmpq (const Operand &dst, Immediate src)
 
void and_ (Register dst, Register src)
 
void and_ (Register dst, const Operand &src)
 
void and_ (const Operand &dst, Register src)
 
void and_ (Register dst, Immediate src)
 
void and_ (const Operand &dst, Immediate src)
 
void andl (Register dst, Immediate src)
 
void andl (Register dst, Register src)
 
void andl (Register dst, const Operand &src)
 
void andb (Register dst, Immediate src)
 
void decq (Register dst)
 
void decq (const Operand &dst)
 
void decl (Register dst)
 
void decl (const Operand &dst)
 
void decb (Register dst)
 
void decb (const Operand &dst)
 
void cqo ()
 
void cdq ()
 
void idivq (Register src)
 
void idivl (Register src)
 
void imul (Register src)
 
void imul (Register dst, Register src)
 
void imul (Register dst, const Operand &src)
 
void imul (Register dst, Register src, Immediate imm)
 
void imull (Register dst, Register src)
 
void imull (Register dst, const Operand &src)
 
void imull (Register dst, Register src, Immediate imm)
 
void incq (Register dst)
 
void incq (const Operand &dst)
 
void incl (Register dst)
 
void incl (const Operand &dst)
 
void lea (Register dst, const Operand &src)
 
void leal (Register dst, const Operand &src)
 
void mul (Register src)
 
void neg (Register dst)
 
void neg (const Operand &dst)
 
void negl (Register dst)
 
void not_ (Register dst)
 
void not_ (const Operand &dst)
 
void notl (Register dst)
 
void or_ (Register dst, Register src)
 
void orl (Register dst, Register src)
 
void or_ (Register dst, const Operand &src)
 
void orl (Register dst, const Operand &src)
 
void or_ (const Operand &dst, Register src)
 
void or_ (Register dst, Immediate src)
 
void orl (Register dst, Immediate src)
 
void or_ (const Operand &dst, Immediate src)
 
void orl (const Operand &dst, Immediate src)
 
void rcl (Register dst, Immediate imm8)
 
void rol (Register dst, Immediate imm8)
 
void rcr (Register dst, Immediate imm8)
 
void ror (Register dst, Immediate imm8)
 
void shld (Register dst, Register src)
 
void shrd (Register dst, Register src)
 
void sar (Register dst, Immediate shift_amount)
 
void sarl (Register dst, Immediate shift_amount)
 
void sar_cl (Register dst)
 
void sarl_cl (Register dst)
 
void shl (Register dst, Immediate shift_amount)
 
void shl_cl (Register dst)
 
void shll_cl (Register dst)
 
void shll (Register dst, Immediate shift_amount)
 
void shr (Register dst, Immediate shift_amount)
 
void shr_cl (Register dst)
 
void shrl_cl (Register dst)
 
void shrl (Register dst, Immediate shift_amount)
 
void store_rax (void *dst, RelocInfo::Mode mode)
 
void store_rax (ExternalReference ref)
 
void subq (Register dst, Register src)
 
void subq (Register dst, const Operand &src)
 
void subq (const Operand &dst, Register src)
 
void subq (Register dst, Immediate src)
 
void subq (const Operand &dst, Immediate src)
 
void subl (Register dst, Register src)
 
void subl (Register dst, const Operand &src)
 
void subl (const Operand &dst, Immediate src)
 
void subl (Register dst, Immediate src)
 
void subb (Register dst, Immediate src)
 
void testb (Register dst, Register src)
 
void testb (Register reg, Immediate mask)
 
void testb (const Operand &op, Immediate mask)
 
void testb (const Operand &op, Register reg)
 
void testl (Register dst, Register src)
 
void testl (Register reg, Immediate mask)
 
void testl (const Operand &op, Immediate mask)
 
void testq (const Operand &op, Register reg)
 
void testq (Register dst, Register src)
 
void testq (Register dst, Immediate mask)
 
void xor_ (Register dst, Register src)
 
void xorl (Register dst, Register src)
 
void xorl (Register dst, const Operand &src)
 
void xorl (Register dst, Immediate src)
 
void xorl (const Operand &dst, Immediate src)
 
void xor_ (Register dst, const Operand &src)
 
void xor_ (const Operand &dst, Register src)
 
void xor_ (Register dst, Immediate src)
 
void xor_ (const Operand &dst, Immediate src)
 
void bt (const Operand &dst, Register src)
 
void bts (const Operand &dst, Register src)
 
void clc ()
 
void cld ()
 
void cpuid ()
 
void hlt ()
 
void int3 ()
 
void nop ()
 
void rdtsc ()
 
void ret (int imm16)
 
void setcc (Condition cc, Register reg)
 
void bind (Label *L)
 
void call (Label *L)
 
void call (Handle< Code > target, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, TypeFeedbackId ast_id=TypeFeedbackId::None())
 
void call (Address target)
 
void call (Register adr)
 
void call (const Operand &operand)
 
void jmp (Label *L, Label::Distance distance=Label::kFar)
 
void jmp (Handle< Code > target, RelocInfo::Mode rmode)
 
void jmp (Register adr)
 
void jmp (const Operand &src)
 
void j (Condition cc, Label *L, Label::Distance distance=Label::kFar)
 
void j (Condition cc, Handle< Code > target, RelocInfo::Mode rmode)
 
void fld (int i)
 
void fld1 ()
 
void fldz ()
 
void fldpi ()
 
void fldln2 ()
 
void fld_s (const Operand &adr)
 
void fld_d (const Operand &adr)
 
void fstp_s (const Operand &adr)
 
void fstp_d (const Operand &adr)
 
void fstp (int index)
 
void fild_s (const Operand &adr)
 
void fild_d (const Operand &adr)
 
void fist_s (const Operand &adr)
 
void fistp_s (const Operand &adr)
 
void fistp_d (const Operand &adr)
 
void fisttp_s (const Operand &adr)
 
void fisttp_d (const Operand &adr)
 
void fabs ()
 
void fchs ()
 
void fadd (int i)
 
void fsub (int i)
 
void fmul (int i)
 
void fdiv (int i)
 
void fisub_s (const Operand &adr)
 
void faddp (int i=1)
 
void fsubp (int i=1)
 
void fsubrp (int i=1)
 
void fmulp (int i=1)
 
void fdivp (int i=1)
 
void fprem ()
 
void fprem1 ()
 
void fxch (int i=1)
 
void fincstp ()
 
void ffree (int i=0)
 
void ftst ()
 
void fucomp (int i)
 
void fucompp ()
 
void fucomi (int i)
 
void fucomip ()
 
void fcompp ()
 
void fnstsw_ax ()
 
void fwait ()
 
void fnclex ()
 
void fsin ()
 
void fcos ()
 
void fptan ()
 
void fyl2x ()
 
void f2xm1 ()
 
void fscale ()
 
void fninit ()
 
void frndint ()
 
void sahf ()
 
void movd (XMMRegister dst, Register src)
 
void movd (Register dst, XMMRegister src)
 
void movq (XMMRegister dst, Register src)
 
void movq (Register dst, XMMRegister src)
 
void movq (XMMRegister dst, XMMRegister src)
 
void extractps (Register dst, XMMRegister src, byte imm8)
 
void movsd (XMMRegister dst, XMMRegister src)
 
void movsd (const Operand &dst, XMMRegister src)
 
void movsd (XMMRegister dst, const Operand &src)
 
void movdqa (const Operand &dst, XMMRegister src)
 
void movdqa (XMMRegister dst, const Operand &src)
 
void movapd (XMMRegister dst, XMMRegister src)
 
void movaps (XMMRegister dst, XMMRegister src)
 
void movss (XMMRegister dst, const Operand &src)
 
void movss (const Operand &dst, XMMRegister src)
 
void cvttss2si (Register dst, const Operand &src)
 
void cvttss2si (Register dst, XMMRegister src)
 
void cvttsd2si (Register dst, const Operand &src)
 
void cvttsd2si (Register dst, XMMRegister src)
 
void cvttsd2siq (Register dst, XMMRegister src)
 
void cvtlsi2sd (XMMRegister dst, const Operand &src)
 
void cvtlsi2sd (XMMRegister dst, Register src)
 
void cvtqsi2sd (XMMRegister dst, const Operand &src)
 
void cvtqsi2sd (XMMRegister dst, Register src)
 
void cvtlsi2ss (XMMRegister dst, Register src)
 
void cvtss2sd (XMMRegister dst, XMMRegister src)
 
void cvtss2sd (XMMRegister dst, const Operand &src)
 
void cvtsd2ss (XMMRegister dst, XMMRegister src)
 
void cvtsd2si (Register dst, XMMRegister src)
 
void cvtsd2siq (Register dst, XMMRegister src)
 
void addsd (XMMRegister dst, XMMRegister src)
 
void subsd (XMMRegister dst, XMMRegister src)
 
void mulsd (XMMRegister dst, XMMRegister src)
 
void divsd (XMMRegister dst, XMMRegister src)
 
void andpd (XMMRegister dst, XMMRegister src)
 
void orpd (XMMRegister dst, XMMRegister src)
 
void xorpd (XMMRegister dst, XMMRegister src)
 
void xorps (XMMRegister dst, XMMRegister src)
 
void sqrtsd (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, const Operand &src)
 
void roundsd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void movmskpd (Register dst, XMMRegister src)
 
void emit_sse_operand (XMMRegister dst, XMMRegister src)
 
void emit_sse_operand (XMMRegister reg, const Operand &adr)
 
void emit_sse_operand (XMMRegister dst, Register src)
 
void emit_sse_operand (Register dst, XMMRegister src)
 
void Print ()
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordJSReturn ()
 
void RecordDebugBreakSlot ()
 
void RecordComment (const char *msg, bool force=false)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
int pc_offset () const
 
PositionsRecorderpositions_recorder ()
 
bool buffer_overflow () const
 
int available_space () const
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
- Public Member Functions inherited from AssemblerBase
 AssemblerBase (Isolate *isolate)
 
Isolateisolate () const
 
int jit_cookie ()
 
- Public Member Functions inherited from Malloced
void * operator new (size_t size)
 
void operator delete (void *p)
 

Static Public Member Functions

static int CallSize (Register target, Condition cond=al)
 
static int CallSizeNotPredictableCodeSize (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
static int ActivationFrameAlignment ()
 
static bool IsMarkedCode (Instr instr, int type)
 
static int GetCodeMarker (Instr instr)
 
static int SafepointRegisterStackIndex (Register reg)
 
static int CallSize (Register target, COND_ARGS)
 
static int CallSize (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
static int CallSize (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, TypeFeedbackId ast_id=TypeFeedbackId::None(), COND_ARGS)
 
static bool IsMarkedCode (Instr instr, int type)
 
static int GetCodeMarker (Instr instr)
 
static int ActivationFrameAlignment ()
 
static int SafepointRegisterStackIndex (Register reg)
 
- Static Public Member Functions inherited from Assembler
static void deserialization_set_special_target_at (Address constant_pool_entry, Address target)
 
static void set_external_target_at (Address constant_pool_entry, Address target)
 
static bool use_immediate_embedded_pointer_loads (const Assembler *assembler)
 
static Instr instr_at (byte *pc)
 
static void instr_at_put (byte *pc, Instr instr)
 
static Condition GetCondition (Instr instr)
 
static bool IsBranch (Instr instr)
 
static int GetBranchOffset (Instr instr)
 
static bool IsLdrRegisterImmediate (Instr instr)
 
static int GetLdrRegisterImmediateOffset (Instr instr)
 
static Instr SetLdrRegisterImmediateOffset (Instr instr, int offset)
 
static bool IsStrRegisterImmediate (Instr instr)
 
static Instr SetStrRegisterImmediateOffset (Instr instr, int offset)
 
static bool IsAddRegisterImmediate (Instr instr)
 
static Instr SetAddRegisterImmediateOffset (Instr instr, int offset)
 
static Register GetRd (Instr instr)
 
static Register GetRn (Instr instr)
 
static Register GetRm (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsPop (Instr instr)
 
static bool IsStrRegFpOffset (Instr instr)
 
static bool IsLdrRegFpOffset (Instr instr)
 
static bool IsStrRegFpNegOffset (Instr instr)
 
static bool IsLdrRegFpNegOffset (Instr instr)
 
static bool IsLdrPcImmediateOffset (Instr instr)
 
static bool IsTstImmediate (Instr instr)
 
static bool IsCmpRegister (Instr instr)
 
static bool IsCmpImmediate (Instr instr)
 
static Register GetCmpImmediateRegister (Instr instr)
 
static int GetCmpImmediateRawImmediate (Instr instr)
 
static bool IsNop (Instr instr, int type=NON_MARKING_NOP)
 
static bool IsMovT (Instr instr)
 
static bool IsMovW (Instr instr)
 
static Address target_address_at (Address pc)
 
static void set_target_address_at (Address pc, Address target)
 
static Address target_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, Address target)
 
static void set_external_target_at (Address instruction_payload, Address target)
 
static bool IsNop (Address addr)
 
static Address target_address_at (Address pc)
 
static void set_target_address_at (Address pc, Address target)
 
static Address target_address_from_return_address (Address pc)
 
static void JumpLabelToJumpRegister (Address pc)
 
static void QuietNaN (HeapObject *nan)
 
static void deserialization_set_special_target_at (Address instruction_payload, Address target)
 
static void set_external_target_at (Address instruction_payload, Address target)
 
static int RelocateInternalReference (byte *pc, intptr_t pc_delta)
 
static Instr instr_at (byte *pc)
 
static void instr_at_put (byte *pc, Instr instr)
 
static bool IsBranch (Instr instr)
 
static bool IsBeq (Instr instr)
 
static bool IsBne (Instr instr)
 
static bool IsJump (Instr instr)
 
static bool IsJ (Instr instr)
 
static bool IsLui (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsJal (Instr instr)
 
static bool IsJr (Instr instr)
 
static bool IsJalr (Instr instr)
 
static bool IsNop (Instr instr, unsigned int type)
 
static bool IsPop (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsLwRegFpOffset (Instr instr)
 
static bool IsSwRegFpOffset (Instr instr)
 
static bool IsLwRegFpNegOffset (Instr instr)
 
static bool IsSwRegFpNegOffset (Instr instr)
 
static Register GetRtReg (Instr instr)
 
static Register GetRsReg (Instr instr)
 
static Register GetRdReg (Instr instr)
 
static uint32_t GetRt (Instr instr)
 
static uint32_t GetRtField (Instr instr)
 
static uint32_t GetRs (Instr instr)
 
static uint32_t GetRsField (Instr instr)
 
static uint32_t GetRd (Instr instr)
 
static uint32_t GetRdField (Instr instr)
 
static uint32_t GetSa (Instr instr)
 
static uint32_t GetSaField (Instr instr)
 
static uint32_t GetOpcodeField (Instr instr)
 
static uint32_t GetFunction (Instr instr)
 
static uint32_t GetFunctionField (Instr instr)
 
static uint32_t GetImmediate16 (Instr instr)
 
static uint32_t GetLabelConst (Instr instr)
 
static int32_t GetBranchOffset (Instr instr)
 
static bool IsLw (Instr instr)
 
static int16_t GetLwOffset (Instr instr)
 
static Instr SetLwOffset (Instr instr, int16_t offset)
 
static bool IsSw (Instr instr)
 
static Instr SetSwOffset (Instr instr, int16_t offset)
 
static bool IsAddImmediate (Instr instr)
 
static Instr SetAddImmediateOffset (Instr instr, int16_t offset)
 
static bool IsAndImmediate (Instr instr)
 
static Address target_address_at (Address pc)
 
static void set_target_address_at (Address pc, Address target)
 
static Address target_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, Address target)
 
static void set_external_target_at (Address instruction_payload, Address target)
 
static bool IsNop (Address addr)
 
- Static Public Member Functions inherited from AssemblerBase
static void QuietNaN (HeapObject *nan)
 
- Static Public Member Functions inherited from Malloced
static void FatalProcessOutOfMemory ()
 
static void * New (size_t size)
 
static void Delete (void *p)
 

Friends

class OptimizedFrame
 

Additional Inherited Members

- Static Public Attributes inherited from Assembler
static const int kSpecialTargetSize = kPointerSize
 
static const int kInstrSize = sizeof(Instr)
 
static const int kPatchReturnSequenceAddressOffset = 0 * kInstrSize
 
static const int kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize
 
static const int kPatchDebugBreakSlotReturnOffset = 2 * kInstrSize
 
static const int kPcLoadDelta = 8
 
static const int kJSReturnSequenceInstructions = 4
 
static const int kDebugBreakSlotInstructions = 3
 
static const int kDebugBreakSlotLength
 
static const int kMaxDistToPool = 4*KB
 
static const int kMaxNumPendingRelocInfo = kMaxDistToPool/kInstrSize
 
static const int kCallTargetAddressOffset = kPointerSize
 
static const int kCallInstructionLength = 5
 
static const int kJSReturnSequenceLength = 6
 
static const byte kTestAlByte = 0xA8
 
static const byte kNopByte = 0x90
 
static const byte kJmpShortOpcode = 0xEB
 
static const byte kJccShortPrefix = 0x70
 
static const byte kJncShortOpcode = kJccShortPrefix | not_carry
 
static const byte kJcShortOpcode = kJccShortPrefix | carry
 
static const byte kJnzShortOpcode = kJccShortPrefix | not_zero
 
static const byte kJzShortOpcode = kJccShortPrefix | zero
 
static const int kMaximalBufferSize = 512*MB
 
static const int kMinimalBufferSize = 4*KB
 
static const int kBranchPCOffset = 4
 
static const int kInstructionsFor32BitConstant = 3
 
static const int kRealPatchReturnSequenceAddressOffset = 2
 
static const int kJumpInstructionLength = 13
 
static const int kShortCallInstructionLength = 5
 
static const byte kTestEaxByte = 0xA9
 
- Protected Member Functions inherited from Assembler
bool emit_debug_code () const
 
int buffer_space () const
 
int target_at (int pos)
 
void target_at_put (int pos, int target_pos)
 
void StartBlockConstPool ()
 
void EndBlockConstPool ()
 
bool is_const_pool_blocked () const
 
bool emit_debug_code () const
 
bool predictable_code_size () const
 
void movsd (XMMRegister dst, const Operand &src)
 
void movsd (const Operand &dst, XMMRegister src)
 
void emit_sse_operand (XMMRegister reg, const Operand &adr)
 
void emit_sse_operand (XMMRegister dst, XMMRegister src)
 
void emit_sse_operand (Register dst, XMMRegister src)
 
byteaddr_at (int pos)
 
bool emit_debug_code () const
 
int32_t buffer_space () const
 
int target_at (int32_t pos)
 
void target_at_put (int32_t pos, int32_t target_pos)
 
bool MustUseReg (RelocInfo::Mode rmode)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
bool has_exception () const
 
void DoubleAsTwoUInt32 (double d, uint32_t *lo, uint32_t *hi)
 
bool is_trampoline_emitted () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
bool emit_debug_code () const
 
bool predictable_code_size () const
 
- Protected Attributes inherited from Assembler
TypeFeedbackId recorded_ast_id_
 

Detailed Description

Definition at line 111 of file macro-assembler-arm.h.

Member Enumeration Documentation

Enumerator
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 

Definition at line 72 of file macro-assembler-ia32.h.

Enumerator
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 

Definition at line 162 of file macro-assembler-x64.h.

Enumerator
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 

Definition at line 209 of file macro-assembler-arm.h.

Enumerator
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 
kReturnAtEnd 
kFallThroughAtEnd 

Definition at line 298 of file macro-assembler-mips.h.

Constructor & Destructor Documentation

MacroAssembler ( Isolate isolate,
void *  buffer,
int  size 
)
MacroAssembler ( Isolate isolate,
void *  buffer,
int  size 
)
MacroAssembler ( Isolate isolate,
void *  buffer,
int  size 
)
MacroAssembler ( Isolate isolate,
void *  buffer,
int  size 
)

Member Function Documentation

void Abort ( const char *  msg)
void Abort ( const char *  msg)
void Abort ( const char *  msg)
void Abort ( const char *  msg)
static int ActivationFrameAlignment ( )
static
static int ActivationFrameAlignment ( )
static
void AddSmiField ( Register  dst,
const Operand &  src 
)
void AdduAndCheckForOverflow ( Register  dst,
Register  left,
Register  right,
Register  overflow_dst,
Register  scratch = at 
)
void AllocateAsciiConsString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiConsString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiConsString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiConsString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiSlicedString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiSlicedString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiSlicedString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiSlicedString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateAsciiString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateAsciiString ( Register  result,
int  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateAsciiString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateAsciiString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateHeapNumber ( Register  result,
Register  scratch1,
Register  scratch2,
Register  heap_number_map,
Label *  gc_required 
)
void AllocateHeapNumber ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateHeapNumber ( Register  result,
Register  scratch1,
Register  scratch2,
Register  heap_number_map,
Label *  gc_required,
TaggingMode  tagging_mode = TAG_RESULT 
)
void AllocateHeapNumber ( Register  result,
Register  scratch,
Label *  gc_required 
)
void AllocateHeapNumberWithValue ( Register  result,
FPURegister  value,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateHeapNumberWithValue ( Register  result,
DwVfpRegister  value,
Register  scratch1,
Register  scratch2,
Register  heap_number_map,
Label *  gc_required 
)
void AllocateInNewSpace ( int  object_size,
Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( Register  object_size,
Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( int  object_size,
Register  result,
Register  result_end,
Register  scratch,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( int  header_size,
ScaleFactor  element_size,
Register  element_count,
Register  result,
Register  result_end,
Register  scratch,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( Register  object_size,
Register  result,
Register  result_end,
Register  scratch,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( int  object_size,
Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( Register  object_size,
Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( int  object_size,
Register  result,
Register  result_end,
Register  scratch,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( int  header_size,
ScaleFactor  element_size,
Register  element_count,
Register  result,
Register  result_end,
Register  scratch,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateInNewSpace ( Register  object_size,
Register  result,
Register  result_end,
Register  scratch,
Label *  gc_required,
AllocationFlags  flags 
)
void AllocateTwoByteConsString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteConsString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteConsString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteConsString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteSlicedString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteSlicedString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteSlicedString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteSlicedString ( Register  result,
Register  scratch1,
Register  scratch2,
Label *  gc_required 
)
void AllocateTwoByteString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateTwoByteString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateTwoByteString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
void AllocateTwoByteString ( Register  result,
Register  length,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  gc_required 
)
bool allow_stub_calls ( )
inline

Definition at line 830 of file macro-assembler-ia32.h.

bool allow_stub_calls ( )
inline

Definition at line 1135 of file macro-assembler-arm.h.

bool allow_stub_calls ( )
inline

Definition at line 1275 of file macro-assembler-mips.h.

bool allow_stub_calls ( )
inline

Definition at line 1311 of file macro-assembler-x64.h.

bool AllowThisStubCall ( CodeStub *  stub)
inline
bool AllowThisStubCall ( CodeStub *  stub)
inline
bool AllowThisStubCall ( CodeStub *  stub)
inline
bool AllowThisStubCall ( CodeStub *  stub)
inline
void And ( Register  dst,
Register  src1,
const Operand &  src2,
Condition  cond = al 
)
int ArgumentStackSlotsForCFunctionCall ( int  num_arguments)
void Assert ( Condition  cc,
const char *  msg 
)
void Assert ( Condition  cond,
const char *  msg 
)
void Assert ( Condition  cc,
const char *  msg,
Register  rs,
Operand  rt 
)
void Assert ( Condition  cc,
const char *  msg 
)
void AssertFastElements ( Register  elements)
void AssertFastElements ( Register  elements)
void AssertFastElements ( Register  elements)
void AssertFastElements ( Register  elements)
void AssertNotSmi ( Register  object)
void AssertNotSmi ( Register  object)
void AssertNotSmi ( Register  object)
void AssertNotSmi ( Register  object)
void AssertNumber ( Register  object)
void AssertNumber ( Register  object)
void AssertRegisterIsRoot ( Register  reg,
Heap::RootListIndex  index 
)
void AssertRegisterIsRoot ( Register  reg,
Heap::RootListIndex  index 
)
void AssertRootValue ( Register  src,
Heap::RootListIndex  root_value_index,
const char *  message 
)
void AssertRootValue ( Register  src,
Heap::RootListIndex  root_value_index,
const char *  message 
)
void AssertRootValue ( Register  src,
Heap::RootListIndex  root_value_index,
const char *  message 
)
void AssertSmi ( Register  object)
void AssertSmi ( Register  object)
void AssertSmi ( const Operand &  object)
void AssertSmi ( Register  object)
void AssertSmi ( Register  object)
void AssertStackIsAligned ( )
void AssertString ( Register  object)
void AssertString ( Register  object)
void AssertString ( Register  object)
void AssertString ( Register  object)
void AssertZeroExtended ( Register  reg)
void Bfc ( Register  dst,
Register  src,
int  lsb,
int  width,
Condition  cond = al 
)
void Bfi ( Register  dst,
Register  src,
Register  scratch,
int  lsb,
int  width,
Condition  cond = al 
)
void BooleanBitTest ( Register  object,
int  field_offset,
int  bit_index 
)
void BranchF ( Label *  target,
Label *  nan,
Condition  cc,
FPURegister  cmp1,
FPURegister  cmp2,
BranchDelaySlot  bd = PROTECT 
)

Referenced by MacroAssembler::BranchF().

void BranchF ( BranchDelaySlot  bd,
Label *  target,
Label *  nan,
Condition  cc,
FPURegister  cmp1,
FPURegister  cmp2 
)
inline

Definition at line 735 of file macro-assembler-mips.h.

References MacroAssembler::BranchF().

void BranchOnNoOverflow ( Label *  label,
Register  overflow_check,
BranchDelaySlot  bd = PROTECT 
)
inline

Definition at line 1103 of file macro-assembler-mips.h.

References MacroAssembler::Branch(), and v8::internal::ge.

void BranchOnOverflow ( Label *  label,
Register  overflow_check,
BranchDelaySlot  bd = PROTECT 
)
inline

Definition at line 1097 of file macro-assembler-mips.h.

References MacroAssembler::Branch(), and v8::internal::lt.

int CalculateStackPassedWords ( int  num_reg_arguments,
int  num_double_arguments 
)
int CalculateStackPassedWords ( int  num_reg_arguments,
int  num_double_arguments 
)
void Call ( Register  target,
Condition  cond = al 
)
void Call ( Address  target,
RelocInfo::Mode  rmode,
Condition  cond = al,
TargetAddressStorageMode  mode = CAN_INLINE_TARGET_ADDRESS 
)
void Call ( Handle< Code code,
RelocInfo::Mode  rmode = RelocInfo::CODE_TARGET,
TypeFeedbackId  ast_id = TypeFeedbackId::None(),
Condition  cond = al,
TargetAddressStorageMode  mode = CAN_INLINE_TARGET_ADDRESS 
)
void Call ( Label *  target)
void Call ( Register  target,
COND_ARGS   
)
void Call ( Address  target,
RelocInfo::Mode  rmode,
COND_ARGS   
)
void Call ( Handle< Code code,
RelocInfo::Mode  rmode = RelocInfo::CODE_TARGET,
TypeFeedbackId  ast_id = TypeFeedbackId::None(),
COND_ARGS   
)
void Call ( Label *  target)
void Call ( Label *  target)
inline

Definition at line 778 of file macro-assembler-ia32.h.

References Assembler::call().

void Call ( Label *  target)
inline

Definition at line 815 of file macro-assembler-x64.h.

References Assembler::call().

void Call ( Address  destination,
RelocInfo::Mode  rmode 
)
void Call ( ExternalReference  ext)
void Call ( Handle< Code code_object,
RelocInfo::Mode  rmode,
TypeFeedbackId  ast_id = TypeFeedbackId::None() 
)
void CallApiFunctionAndReturn ( Address  function_address,
int  stack_space 
)
void CallApiFunctionAndReturn ( ExternalReference  function,
int  stack_space 
)
void CallApiFunctionAndReturn ( ExternalReference  function,
int  stack_space 
)
void CallApiFunctionAndReturn ( Address  function_address,
int  stack_space 
)
void CallCFunction ( ExternalReference  function,
int  num_arguments 
)
void CallCFunction ( Register  function,
int  num_arguments 
)
void CallCFunction ( ExternalReference  function,
int  num_arguments 
)
void CallCFunction ( Register  function,
int  num_arguments 
)
void CallCFunction ( ExternalReference  function,
int  num_reg_arguments,
int  num_double_arguments 
)
void CallCFunction ( Register  function,
int  num_reg_arguments,
int  num_double_arguments 
)
void CallCFunction ( ExternalReference  function,
int  num_arguments 
)
void CallCFunction ( Register  function,
int  num_arguments 
)
void CallCFunction ( ExternalReference  function,
int  num_reg_arguments,
int  num_double_arguments 
)
void CallCFunction ( Register  function,
int  num_reg_arguments,
int  num_double_arguments 
)
void CallCFunction ( ExternalReference  function,
int  num_arguments 
)
void CallCFunction ( Register  function,
int  num_arguments 
)
void CallExternalReference ( ExternalReference  ref,
int  num_arguments 
)
void CallExternalReference ( const ExternalReference &  ext,
int  num_arguments 
)
void CallExternalReference ( const ExternalReference &  ext,
int  num_arguments,
BranchDelaySlot  bd = PROTECT 
)
void CallExternalReference ( const ExternalReference &  ext,
int  num_arguments 
)
void CallJSExitStub ( CodeStub *  stub)
void CallRuntime ( const Runtime::Function f,
int  num_arguments 
)
void CallRuntime ( Runtime::FunctionId  id,
int  num_arguments 
)
void CallRuntime ( const Runtime::Function f,
int  num_arguments 
)
void CallRuntime ( Runtime::FunctionId  fid,
int  num_arguments 
)
void CallRuntime ( const Runtime::Function f,
int  num_arguments 
)
void CallRuntime ( Runtime::FunctionId  fid,
int  num_arguments 
)
void CallRuntime ( const Runtime::Function f,
int  num_arguments 
)
void CallRuntime ( Runtime::FunctionId  id,
int  num_arguments 
)
void CallRuntimeSaveDoubles ( Runtime::FunctionId  id)
void CallRuntimeSaveDoubles ( Runtime::FunctionId  id)
void CallRuntimeSaveDoubles ( Runtime::FunctionId  id)
void CallRuntimeSaveDoubles ( Runtime::FunctionId  id)
void CallSelf ( )
inline
void CallSelf ( )
inline
static int CallSize ( Register  target,
Condition  cond = al 
)
static
int CallSize ( Address  target,
RelocInfo::Mode  rmode,
Condition  cond = al 
)
int CallSize ( Handle< Code code,
RelocInfo::Mode  rmode = RelocInfo::CODE_TARGET,
TypeFeedbackId  ast_id = TypeFeedbackId::None(),
Condition  cond = al 
)
static int CallSize ( Register  target,
COND_ARGS   
)
static
static int CallSize ( Address  target,
RelocInfo::Mode  rmode,
COND_ARGS   
)
static
static int CallSize ( Handle< Code code,
RelocInfo::Mode  rmode = RelocInfo::CODE_TARGET,
TypeFeedbackId  ast_id = TypeFeedbackId::None(),
COND_ARGS   
)
static
int CallSize ( Address  destination,
RelocInfo::Mode  rmode 
)
inline

Definition at line 829 of file macro-assembler-x64.h.

References Assembler::kCallInstructionLength.

int CallSize ( ExternalReference  ext)
int CallSize ( Handle< Code code_object)
inline

Definition at line 833 of file macro-assembler-x64.h.

References Assembler::kShortCallInstructionLength.

int CallSize ( Register  target)
inline

Definition at line 837 of file macro-assembler-x64.h.

References Register::high_bit().

int CallSize ( const Operand &  target)
inline

Definition at line 841 of file macro-assembler-x64.h.

static int CallSizeNotPredictableCodeSize ( Address  target,
RelocInfo::Mode  rmode,
Condition  cond = al 
)
static
void CallStub ( CodeStub *  stub,
TypeFeedbackId  ast_id = TypeFeedbackId::None() 
)
void CallStub ( CodeStub *  stub,
Condition  cond = al 
)
void CallStub ( CodeStub *  stub,
Condition  cond = cc_always,
Register  r1 = zero_reg,
const Operand &  r2 = Operand(zero_reg),
BranchDelaySlot  bd = PROTECT 
)
void CallStub ( CodeStub *  stub,
TypeFeedbackId  ast_id = TypeFeedbackId::None() 
)
void Ceil_w_d ( FPURegister  fd,
FPURegister  fs 
)
void Check ( Condition  cc,
const char *  msg 
)
void Check ( Condition  cond,
const char *  msg 
)
void Check ( Condition  cc,
const char *  msg,
Register  rs,
Operand  rt 
)
void Check ( Condition  cc,
const char *  msg 
)
void CheckAccessGlobalProxy ( Register  holder_reg,
Register  scratch,
Label *  miss 
)
void CheckAccessGlobalProxy ( Register  holder_reg,
Register  scratch,
Label *  miss 
)
void CheckAccessGlobalProxy ( Register  holder_reg,
Register  scratch,
Label *  miss 
)
void CheckAccessGlobalProxy ( Register  holder_reg,
Register  scratch,
Label *  miss 
)
Condition CheckBothNonNegativeSmi ( Register  first,
Register  second 
)
Condition CheckBothSmi ( Register  first,
Register  second 
)

Referenced by TEST().

Condition CheckEitherSmi ( Register  first,
Register  second,
Register  scratch = kScratchRegister 
)
void CheckEnumCache ( Label *  call_runtime)
void CheckEnumCache ( Register  null_value,
Label *  call_runtime 
)
void CheckEnumCache ( Register  null_value,
Label *  call_runtime 
)
void CheckEnumCache ( Register  null_value,
Label *  call_runtime 
)
void CheckFastElements ( Register  map,
Label *  fail,
Label::Distance  distance = Label::kFar 
)
void CheckFastElements ( Register  map,
Register  scratch,
Label *  fail 
)
void CheckFastElements ( Register  map,
Label *  fail,
Label::Distance  distance = Label::kFar 
)
void CheckFastElements ( Register  map,
Register  scratch,
Label *  fail 
)
void CheckFastObjectElements ( Register  map,
Label *  fail,
Label::Distance  distance = Label::kFar 
)
void CheckFastObjectElements ( Register  map,
Register  scratch,
Label *  fail 
)
void CheckFastObjectElements ( Register  map,
Label *  fail,
Label::Distance  distance = Label::kFar 
)
void CheckFastObjectElements ( Register  map,
Register  scratch,
Label *  fail 
)
void CheckFastSmiElements ( Register  map,
Label *  fail,
Label::Distance  distance = Label::kFar 
)
void CheckFastSmiElements ( Register  map,
Register  scratch,
Label *  fail 
)
void CheckFastSmiElements ( Register  map,
Label *  fail,
Label::Distance  distance = Label::kFar 
)
void CheckFastSmiElements ( Register  map,
Register  scratch,
Label *  fail 
)
Condition CheckInteger32ValidSmiValue ( Register  src)

Referenced by TEST().

Condition CheckIsMinSmi ( Register  src)

Referenced by TEST().

void CheckMap ( Register  obj,
Handle< Map map,
Label *  fail,
SmiCheckType  smi_check_type,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CheckMap ( Register  obj,
Register  scratch,
Handle< Map map,
Label *  fail,
SmiCheckType  smi_check_type,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CheckMap ( Register  obj,
Register  scratch,
Heap::RootListIndex  index,
Label *  fail,
SmiCheckType  smi_check_type 
)
void CheckMap ( Register  obj,
Handle< Map map,
Label *  fail,
SmiCheckType  smi_check_type,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CheckMap ( Register  obj,
Register  scratch,
Handle< Map map,
Label *  fail,
SmiCheckType  smi_check_type,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CheckMap ( Register  obj,
Register  scratch,
Heap::RootListIndex  index,
Label *  fail,
SmiCheckType  smi_check_type 
)
Condition CheckNonNegativeSmi ( Register  src)

Referenced by TEST().

void CheckPageFlag ( Register  object,
Register  scratch,
int  mask,
Condition  cc,
Label *  condition_met,
Label::Distance  condition_met_distance = Label::kFar 
)
void CheckPageFlag ( Register  object,
Register  scratch,
int  mask,
Condition  cc,
Label *  condition_met,
Label::Distance  condition_met_distance = Label::kFar 
)
void CheckPageFlag ( Register  object,
Register  scratch,
int  mask,
Condition  cc,
Label *  condition_met 
)
void CheckPageFlag ( Register  object,
Register  scratch,
int  mask,
Condition  cc,
Label *  condition_met 
)
void CheckPageFlagForMap ( Handle< Map map,
int  mask,
Condition  cc,
Label *  condition_met,
Label::Distance  condition_met_distance = Label::kFar 
)
Condition CheckSmi ( Register  src)

Referenced by TEST().

Condition CheckSmi ( const Operand &  src)
void CheckSmiToIndicator ( Register  dst,
Register  src 
)
void CheckSmiToIndicator ( Register  dst,
const Operand &  src 
)
void CheckStackAlignment ( )
void CheckStackAlignment ( )
Condition CheckUInteger32ValidSmiValue ( Register  src)
void ClampDoubleToUint8 ( XMMRegister  input_reg,
XMMRegister  scratch_reg,
Register  result_reg 
)
void ClampDoubleToUint8 ( XMMRegister  input_reg,
XMMRegister  temp_xmm_reg,
Register  result_reg 
)
void ClampDoubleToUint8 ( Register  result_reg,
DoubleRegister  input_reg,
DoubleRegister  temp_double_reg 
)
void ClampDoubleToUint8 ( Register  result_reg,
DoubleRegister  input_reg,
DoubleRegister  temp_double_reg 
)
void ClampUint8 ( Register  reg)
void ClampUint8 ( Register  reg)
void ClampUint8 ( Register  output_reg,
Register  input_reg 
)
void ClampUint8 ( Register  output_reg,
Register  input_reg 
)
void ClearFPSCRBits ( const uint32_t  bits_to_clear,
const Register  scratch,
const Condition  cond = al 
)
void Clz ( Register  rd,
Register  rs 
)
void Cmp ( Register  dst,
Handle< Object source 
)
void Cmp ( const Operand &  dst,
Handle< Object source 
)
void Cmp ( Register  dst,
Smi src 
)
void Cmp ( const Operand &  dst,
Smi src 
)
void CmpInstanceType ( Register  map,
InstanceType  type 
)
void CmpInstanceType ( Register  map,
InstanceType  type 
)
void CmpObjectType ( Register  heap_object,
InstanceType  type,
Register  map 
)
void CmpObjectType ( Register  heap_object,
InstanceType  type,
Register  map 
)
Handle<Object> CodeObject ( )
inline

Definition at line 792 of file macro-assembler-ia32.h.

References ASSERT, and Handle< T >::is_null().

Handle<Object> CodeObject ( )
inline
Handle<Object> CodeObject ( )
inline

Definition at line 1240 of file macro-assembler-mips.h.

References ASSERT, and Handle< T >::is_null().

Handle<Object> CodeObject ( )
inline

Definition at line 1256 of file macro-assembler-x64.h.

References ASSERT, and Handle< T >::is_null().

void CompareInstanceType ( Register  map,
Register  type_reg,
InstanceType  type 
)
void CompareMap ( Register  obj,
Handle< Map map,
Label *  early_success,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CompareMap ( Register  obj,
Register  scratch,
Handle< Map map,
Label *  early_success,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CompareMap ( Register  obj_map,
Handle< Map map,
Label *  early_success,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CompareMap ( Register  obj,
Handle< Map map,
Label *  early_success,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CompareMapAndBranch ( Register  obj,
Register  scratch,
Handle< Map map,
Label *  early_success,
Condition  cond,
Label *  branch_to,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CompareMapAndBranch ( Register  obj_map,
Handle< Map map,
Label *  early_success,
Condition  cond,
Label *  branch_to,
CompareMapMode  mode = REQUIRE_EXACT_MAP 
)
void CompareObjectType ( Register  heap_object,
Register  map,
Register  type_reg,
InstanceType  type 
)
void CompareRoot ( Register  with,
Heap::RootListIndex  index 
)
void CompareRoot ( const Operand &  with,
Heap::RootListIndex  index 
)
void CompareRoot ( Register  with,
Heap::RootListIndex  index 
)
void CompareRoot ( const Operand &  with,
Heap::RootListIndex  index 
)
void CompareRoot ( Register  obj,
Heap::RootListIndex  index 
)
void ConvertToInt32 ( Register  source,
Register  dest,
Register  scratch,
Register  scratch2,
FPURegister  double_scratch,
Label *  not_int32 
)
void ConvertToInt32 ( Register  source,
Register  dest,
Register  scratch,
Register  scratch2,
DwVfpRegister  double_scratch,
Label *  not_int32 
)
void CopyBytes ( Register  source,
Register  destination,
Register  length,
Register  scratch 
)
void CopyBytes ( Register  src,
Register  dst,
Register  length,
Register  scratch 
)
void CopyBytes ( Register  src,
Register  dst,
Register  length,
Register  scratch 
)
void CopyBytes ( Register  destination,
Register  source,
Register  length,
int  min_length = 0,
Register  scratch = kScratchRegister 
)
void CopyFields ( Register  dst,
Register  src,
RegList  temps,
int  field_count 
)
void CopyFields ( Register  dst,
Register  src,
RegList  temps,
int  field_count 
)
void CountLeadingZeros ( Register  zeros,
Register  source,
Register  scratch 
)
void Cvt_d_uw ( FPURegister  fd,
FPURegister  fs,
FPURegister  scratch 
)
void Cvt_d_uw ( FPURegister  fd,
Register  rs,
FPURegister  scratch 
)
void DecodeField ( Register  reg)
inline
void DecodeField ( Register  reg)
inline

Definition at line 954 of file macro-assembler-x64.h.

References Assembler::and_(), Assembler::shl(), and Assembler::shr().

void DecodeField ( Register  reg)
inline
void DecodeField ( Register  reg)
inline
void DecrementCounter ( StatsCounter counter,
int  value 
)
void DecrementCounter ( Condition  cc,
StatsCounter counter,
int  value 
)
void DecrementCounter ( StatsCounter counter,
int  value,
Register  scratch1,
Register  scratch2 
)
void DecrementCounter ( StatsCounter counter,
int  value,
Register  scratch1,
Register  scratch2 
)
void DecrementCounter ( StatsCounter counter,
int  value 
)
DEFINE_INSTRUCTION ( Addu  )
DEFINE_INSTRUCTION ( Subu  )
DEFINE_INSTRUCTION ( Mul  )
DEFINE_INSTRUCTION ( And  )
DEFINE_INSTRUCTION ( Or  )
DEFINE_INSTRUCTION ( Xor  )
DEFINE_INSTRUCTION ( Nor  )
DEFINE_INSTRUCTION ( Slt  )
DEFINE_INSTRUCTION ( Sltu  )
DEFINE_INSTRUCTION ( Ror  )
DEFINE_INSTRUCTION2 ( Mult  )
DEFINE_INSTRUCTION2 ( Multu  )
DEFINE_INSTRUCTION2 ( Div  )
DEFINE_INSTRUCTION2 ( Divu  )
DEFINE_INSTRUCTION2 ( Neg  )
void DispatchMap ( Register  obj,
Handle< Map map,
Handle< Code success,
SmiCheckType  smi_check_type 
)
void DispatchMap ( Register  obj,
Register  scratch,
Handle< Map map,
Handle< Code success,
SmiCheckType  smi_check_type 
)
void DispatchMap ( Register  obj,
Handle< Map map,
Handle< Code success,
SmiCheckType  smi_check_type 
)
void DispatchMap ( Register  obj,
Register  scratch,
Handle< Map map,
Handle< Code success,
SmiCheckType  smi_check_type 
)
void Drop ( int  count,
Condition  cond = al 
)
void Drop ( int  count,
Condition  cond = cc_always,
Register  reg = no_reg,
const Operand &  op = Operand(no_reg) 
)
void Drop ( int  element_count)
void Drop ( int  stack_elements)
void Dropad ( )
void DropAndRet ( int  drop)
void DropAndRet ( int  drop,
Condition  cond,
Register  reg,
const Operand &  op 
)
void EmitECMATruncate ( Register  result,
FPURegister  double_input,
FPURegister  single_scratch,
Register  scratch,
Register  scratch2,
Register  scratch3 
)
void EmitECMATruncate ( Register  result,
DwVfpRegister  double_input,
SwVfpRegister  single_scratch,
Register  scratch,
Register  scratch2,
Register  scratch3 
)
void EmitFPUTruncate ( FPURoundingMode  rounding_mode,
FPURegister  result,
DoubleRegister  double_input,
Register  scratch1,
Register  except_flag,
CheckForInexactConversion  check_inexact = kDontCheckForInexactConversion 
)
void EmitOutOfInt32RangeTruncate ( Register  result,
Register  input_high,
Register  input_low,
Register  scratch 
)
void EmitOutOfInt32RangeTruncate ( Register  result,
Register  input_high,
Register  input_low,
Register  scratch 
)
void EmitVFPTruncate ( VFPRoundingMode  rounding_mode,
Register  result,
DwVfpRegister  double_input,
Register  scratch,
DwVfpRegister  double_scratch,
CheckForInexactConversion  check = kDontCheckForInexactConversion 
)
void EnsureNotWhite ( Register  object,
Register  scratch1,
Register  scratch2,
Label *  object_is_white_and_not_data,
Label::Distance  distance 
)
void EnsureNotWhite ( Register  object,
Register  scratch1,
Register  scratch2,
Label *  object_is_white_and_not_data,
Label::Distance  distance 
)
void EnsureNotWhite ( Register  object,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  object_is_white_and_not_data 
)
void EnsureNotWhite ( Register  object,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Label *  object_is_white_and_not_data 
)
void EnterApiExitFrame ( int  argc)
void EnterApiExitFrame ( int  arg_stack_space)
void EnterExitFrame ( bool  save_doubles)
void EnterExitFrame ( int  arg_stack_space = 0,
bool  save_doubles = false 
)
void EnterExitFrame ( bool  save_doubles,
int  stack_space = 0 
)
void EnterExitFrame ( bool  save_doubles,
int  stack_space = 0 
)
void EnterFrame ( StackFrame::Type  type)
void EnterFrame ( StackFrame::Type  type)

Referenced by FrameScope::FrameScope().

void EnterFrame ( StackFrame::Type  type)
void EnterFrame ( StackFrame::Type  type)
void EnumLength ( Register  dst,
Register  map 
)
void EnumLength ( Register  dst,
Register  map 
)
void EnumLength ( Register  dst,
Register  map 
)
void EnumLength ( Register  dst,
Register  map 
)
void Ext ( Register  rt,
Register  rs,
uint16_t  pos,
uint16_t  size 
)
Operand ExternalOperand ( ExternalReference  reference,
Register  scratch = kScratchRegister 
)
void FCmp ( )
void FCmp ( )
void Floor_w_d ( FPURegister  fd,
FPURegister  fs 
)
void FlushICache ( Register  address,
unsigned  instructions 
)
bool generating_stub ( )
inline

Definition at line 828 of file macro-assembler-ia32.h.

bool generating_stub ( )
inline

Definition at line 1133 of file macro-assembler-arm.h.

bool generating_stub ( )
inline

Definition at line 1273 of file macro-assembler-mips.h.

bool generating_stub ( )
inline

Definition at line 1309 of file macro-assembler-x64.h.

void GetBuiltinEntry ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinEntry ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinEntry ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinEntry ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinFunction ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinFunction ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinFunction ( Register  target,
Builtins::JavaScript  id 
)
void GetBuiltinFunction ( Register  target,
Builtins::JavaScript  id 
)
void GetCFunctionDoubleResult ( const DoubleRegister  dst)
void GetCFunctionDoubleResult ( const DoubleRegister  dst)
static int GetCodeMarker ( Instr  instr)
inlinestatic
void GetLeastBitsFromInt32 ( Register  dst,
Register  src,
int  mun_least_bits 
)
void GetLeastBitsFromInt32 ( Register  dst,
Register  src,
int  mun_least_bits 
)
void GetLeastBitsFromSmi ( Register  dst,
Register  src,
int  num_least_bits 
)
void GetLeastBitsFromSmi ( Register  dst,
Register  src,
int  num_least_bits 
)
void GetNumberHash ( Register  reg0,
Register  scratch 
)
void GetNumberHash ( Register  r0,
Register  scratch 
)
void GetNumberHash ( Register  t0,
Register  scratch 
)
void GetNumberHash ( Register  r0,
Register  scratch 
)
void GetObjectType ( Register  function,
Register  map,
Register  type_reg 
)
void GetRelocatedValue ( Register  li_location,
Register  value,
Register  scratch 
)
void GetRelocatedValueLocation ( Register  ldr_location,
Register  result 
)
bool has_frame ( )
inline

Definition at line 832 of file macro-assembler-ia32.h.

bool has_frame ( )
inline

Definition at line 1137 of file macro-assembler-arm.h.

Referenced by Builtins::SetUp().

bool has_frame ( )
inline

Definition at line 1277 of file macro-assembler-mips.h.

bool has_frame ( )
inline

Definition at line 1313 of file macro-assembler-x64.h.

void HasColor ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  has_color,
Label::Distance  has_color_distance,
int  first_bit,
int  second_bit 
)
void HasColor ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  has_color,
int  first_bit,
int  second_bit 
)
void HasColor ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  has_color,
int  first_bit,
int  second_bit 
)
void IllegalOperation ( int  num_arguments)
void IllegalOperation ( int  num_arguments)
void IllegalOperation ( int  num_arguments)
void IllegalOperation ( int  num_arguments)
void IncrementalMarkingRecordWriteHelper ( Register  object,
Register  value,
Register  address 
)
void IncrementalMarkingRecordWriteHelper ( Register  object,
Register  value,
Register  address 
)
void IncrementCounter ( StatsCounter counter,
int  value 
)
void IncrementCounter ( Condition  cc,
StatsCounter counter,
int  value 
)
void IncrementCounter ( StatsCounter counter,
int  value,
Register  scratch1,
Register  scratch2 
)
void IncrementCounter ( StatsCounter counter,
int  value,
Register  scratch1,
Register  scratch2 
)
void IncrementCounter ( StatsCounter counter,
int  value 
)
void IndexFromHash ( Register  hash,
Register  index 
)
void IndexFromHash ( Register  hash,
Register  index 
)
void IndexFromHash ( Register  hash,
Register  index 
)
void IndexFromHash ( Register  hash,
Register  index 
)
void InitializeFieldsWithFiller ( Register  start_offset,
Register  end_offset,
Register  filler 
)
void InitializeFieldsWithFiller ( Register  start_offset,
Register  end_offset,
Register  filler 
)
void InitializeFieldsWithFiller ( Register  start_offset,
Register  end_offset,
Register  filler 
)
void InitializeFieldsWithFiller ( Register  start_offset,
Register  end_offset,
Register  filler 
)
void InitializeRootRegister ( )
inline
void InitializeRootRegister ( )
inline
void InitializeRootRegister ( )
inline
void InitializeSmiConstantRegister ( )
inline
void Ins ( Register  rt,
Register  rs,
uint16_t  pos,
uint16_t  size 
)
void Integer32ToSmi ( Register  dst,
Register  src 
)
void Integer32ToSmiField ( const Operand &  dst,
Register  src 
)
void Integer64PlusConstantToSmi ( Register  dst,
Register  src,
int  constant 
)
void IntegerToDoubleConversionWithVFP3 ( Register  inReg,
Register  outHighReg,
Register  outLowReg 
)
void InvokeBuiltin ( Builtins::JavaScript  id,
InvokeFlag  flag,
const CallWrapper call_wrapper = NullCallWrapper() 
)
void InvokeBuiltin ( Builtins::JavaScript  id,
InvokeFlag  flag,
const CallWrapper call_wrapper = NullCallWrapper() 
)
void InvokeBuiltin ( Builtins::JavaScript  id,
InvokeFlag  flag,
const CallWrapper call_wrapper = NullCallWrapper() 
)
void InvokeBuiltin ( Builtins::JavaScript  id,
InvokeFlag  flag,
const CallWrapper call_wrapper = NullCallWrapper() 
)
void InvokeCode ( Register  code,
const ParameterCount &  expected,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
inline

Definition at line 294 of file macro-assembler-ia32.h.

References MacroAssembler::InvokeCode().

void InvokeCode ( const Operand &  code,
const ParameterCount &  expected,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeCode ( Handle< Code code,
const ParameterCount &  expected,
const ParameterCount &  actual,
RelocInfo::Mode  rmode,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeCode ( Register  code,
const ParameterCount &  expected,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeCode ( Handle< Code code,
const ParameterCount &  expected,
const ParameterCount &  actual,
RelocInfo::Mode  rmode,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeCode ( Register  code,
const ParameterCount &  expected,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeCode ( Handle< Code code,
const ParameterCount &  expected,
const ParameterCount &  actual,
RelocInfo::Mode  rmode,
InvokeFlag  flag,
CallKind  call_kind 
)
void InvokeCode ( Register  code,
const ParameterCount &  expected,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeCode ( Handle< Code code,
const ParameterCount &  expected,
const ParameterCount &  actual,
RelocInfo::Mode  rmode,
InvokeFlag  flag,
CallKind  call_kind 
)
void InvokeFunction ( Register  function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Handle< JSFunction function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Register  function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Handle< JSFunction function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Register  function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Handle< JSFunction function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Register  function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void InvokeFunction ( Handle< JSFunction function,
const ParameterCount &  actual,
InvokeFlag  flag,
const CallWrapper call_wrapper,
CallKind  call_kind 
)
void IsInstanceJSObjectType ( Register  map,
Register  scratch,
Label *  fail 
)
void IsInstanceJSObjectType ( Register  map,
Register  scratch,
Label *  fail 
)
void IsInstanceJSObjectType ( Register  map,
Register  scratch,
Label *  fail 
)
static bool IsMarkedCode ( Instr  instr,
int  type 
)
inlinestatic
static bool IsMarkedCode ( Instr  instr,
int  type 
)
inlinestatic
void IsObjectJSObjectType ( Register  heap_object,
Register  map,
Register  scratch,
Label *  fail 
)
void IsObjectJSObjectType ( Register  heap_object,
Register  map,
Register  scratch,
Label *  fail 
)
void IsObjectJSObjectType ( Register  heap_object,
Register  map,
Register  scratch,
Label *  fail 
)
void IsObjectJSStringType ( Register  object,
Register  scratch,
Label *  fail 
)
void IsObjectJSStringType ( Register  object,
Register  scratch,
Label *  fail 
)
Condition IsObjectStringType ( Register  heap_object,
Register  map,
Register  instance_type 
)
Condition IsObjectStringType ( Register  heap_object,
Register  map,
Register  instance_type 
)
bool IsUnsafeImmediate ( const Immediate &  x)
bool IsUnsafeInt ( const int  x)
void jmp ( Label *  L)
inline

Definition at line 263 of file macro-assembler-mips.h.

References MacroAssembler::Branch().

void Jump ( Register  target,
Condition  cond = al 
)
void Jump ( Address  target,
RelocInfo::Mode  rmode,
Condition  cond = al 
)
void Jump ( Handle< Code code,
RelocInfo::Mode  rmode,
Condition  cond = al 
)
void Jump ( Register  target,
COND_ARGS   
)
void Jump ( intptr_t  target,
RelocInfo::Mode  rmode,
COND_ARGS   
)
void Jump ( Address  target,
RelocInfo::Mode  rmode,
COND_ARGS   
)
void Jump ( Handle< Code code,
RelocInfo::Mode  rmode,
COND_ARGS   
)
void Jump ( Address  destination,
RelocInfo::Mode  rmode 
)
void Jump ( ExternalReference  ext)
void Jump ( Handle< Code code_object,
RelocInfo::Mode  rmode 
)
void JumpIfBlack ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  on_black,
Label::Distance  on_black_distance = Label::kFar 
)
void JumpIfBlack ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  on_black,
Label::Distance  on_black_distance = Label::kFar 
)
void JumpIfBlack ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  on_black 
)
void JumpIfBlack ( Register  object,
Register  scratch0,
Register  scratch1,
Label *  on_black 
)
void JumpIfBothInstanceTypesAreNotSequentialAscii ( Register  first_object_instance_type,
Register  second_object_instance_type,
Register  scratch1,
Register  scratch2,
Label *  on_fail,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfBothInstanceTypesAreNotSequentialAscii ( Register  first_object_instance_type,
Register  second_object_instance_type,
Register  scratch1,
Register  scratch2,
Label *  failure 
)
void JumpIfBothInstanceTypesAreNotSequentialAscii ( Register  first_object_instance_type,
Register  second_object_instance_type,
Register  scratch1,
Register  scratch2,
Label *  failure 
)
void JumpIfDataObject ( Register  value,
Register  scratch,
Label *  not_data_object,
Label::Distance  not_data_object_distance 
)
void JumpIfDataObject ( Register  value,
Register  scratch,
Label *  not_data_object 
)
void JumpIfDataObject ( Register  value,
Register  scratch,
Label *  not_data_object 
)
void JumpIfEitherSmi ( Register  reg1,
Register  reg2,
Label *  on_either_smi 
)
void JumpIfEitherSmi ( Register  reg1,
Register  reg2,
Label *  on_either_smi 
)
void JumpIfInNewSpace ( Register  object,
Register  scratch,
Label *  branch,
Label::Distance  distance = Label::kFar 
)
inline

Definition at line 111 of file macro-assembler-ia32.h.

References v8::internal::not_zero.

void JumpIfInNewSpace ( Register  object,
Register  scratch,
Label *  branch,
Label::Distance  distance = Label::kFar 
)
inline

Definition at line 194 of file macro-assembler-x64.h.

References v8::internal::equal.

void JumpIfInNewSpace ( Register  object,
Register  scratch,
Label *  branch 
)
inline

Definition at line 239 of file macro-assembler-arm.h.

References v8::internal::eq.

void JumpIfInNewSpace ( Register  object,
Register  scratch,
Label *  branch 
)
inline

Definition at line 329 of file macro-assembler-mips.h.

References v8::internal::eq.

void JumpIfInstanceTypeIsNotSequentialAscii ( Register  instance_type,
Register  scratch,
Label *  on_not_flat_ascii_string,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfInstanceTypeIsNotSequentialAscii ( Register  instance_type,
Register  scratch,
Label *  on_not_flat_ascii_string 
)
void JumpIfInstanceTypeIsNotSequentialAscii ( Register  type,
Register  scratch,
Label *  failure 
)
void JumpIfInstanceTypeIsNotSequentialAscii ( Register  type,
Register  scratch,
Label *  failure 
)
void JumpIfNonSmisNotBothSequentialAsciiStrings ( Register  object1,
Register  object2,
Register  scratch1,
Register  scratch2,
Label *  failure 
)
void JumpIfNonSmisNotBothSequentialAsciiStrings ( Register  first,
Register  second,
Register  scratch1,
Register  scratch2,
Label *  failure 
)
void JumpIfNotBothSequentialAsciiStrings ( Register  first_object,
Register  second_object,
Register  scratch1,
Register  scratch2,
Label *  on_not_both_flat_ascii,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfNotBothSequentialAsciiStrings ( Register  object1,
Register  object2,
Register  scratch1,
Register  scratch2,
Label *  on_not_flat_ascii_strings 
)
void JumpIfNotBothSequentialAsciiStrings ( Register  first,
Register  second,
Register  scratch1,
Register  scratch2,
Label *  not_flat_ascii_strings 
)
void JumpIfNotBothSequentialAsciiStrings ( Register  first,
Register  second,
Register  scratch1,
Register  scratch2,
Label *  failure 
)
void JumpIfNotBothSmi ( Register  src1,
Register  src2,
Label *  on_not_both_smi,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfNotBothSmi ( Register  reg1,
Register  reg2,
Label *  on_not_both_smi 
)
void JumpIfNotBothSmi ( Register  reg1,
Register  reg2,
Label *  on_not_both_smi 
)
void JumpIfNotHeapNumber ( Register  object,
Register  heap_number_map,
Register  scratch,
Label *  on_not_heap_number 
)
void JumpIfNotHeapNumber ( Register  object,
Register  heap_number_map,
Register  scratch,
Label *  on_not_heap_number 
)
void JumpIfNotInNewSpace ( Register  object,
Register  scratch,
Label *  branch,
Label::Distance  distance = Label::kFar 
)
inline

Definition at line 102 of file macro-assembler-ia32.h.

References v8::internal::zero.

void JumpIfNotInNewSpace ( Register  object,
Register  scratch,
Label *  branch,
Label::Distance  distance = Label::kFar 
)
inline

Definition at line 185 of file macro-assembler-x64.h.

References v8::internal::not_equal.

void JumpIfNotInNewSpace ( Register  object,
Register  scratch,
Label *  branch 
)
inline

Definition at line 231 of file macro-assembler-arm.h.

References v8::internal::ne.

void JumpIfNotInNewSpace ( Register  object,
Register  scratch,
Label *  branch 
)
inline

Definition at line 321 of file macro-assembler-mips.h.

References v8::internal::ne.

void JumpIfNotPowerOfTwoOrZero ( Register  reg,
Register  scratch,
Label *  not_power_of_two_or_zero 
)
void JumpIfNotPowerOfTwoOrZero ( Register  reg,
Register  scratch,
Label *  not_power_of_two_or_zero 
)
void JumpIfNotPowerOfTwoOrZeroAndNeg ( Register  reg,
Register  scratch,
Label *  zero_and_neg,
Label *  not_power_of_two 
)
void JumpIfNotSmi ( Register  value,
Label *  not_smi_label,
Label::Distance  distance = Label::kFar 
)
inline
void JumpIfNotSmi ( Register  src,
Label *  on_not_smi,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfNotSmi ( Register  value,
Label *  not_smi_label 
)
inline
void JumpIfNotSmi ( Register  value,
Label *  not_smi_label,
Register  scratch = at,
BranchDelaySlot  bd = PROTECT 
)
void JumpIfNotString ( Register  object,
Register  object_map,
Label *  not_string,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfNotValidSmiValue ( Register  src,
Label *  on_invalid,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfSmi ( Register  value,
Label *  smi_label,
Label::Distance  distance = Label::kFar 
)
inline
void JumpIfSmi ( Operand  value,
Label *  smi_label,
Label::Distance  distance = Label::kFar 
)
inline
void JumpIfSmi ( Register  src,
Label *  on_smi,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfSmi ( Register  value,
Label *  smi_label 
)
inline
void JumpIfSmi ( Register  value,
Label *  smi_label,
Register  scratch = at,
BranchDelaySlot  bd = PROTECT 
)
void JumpIfSmiEqualsConstant ( Register  src,
Smi constant,
Label *  on_equals,
Label::Distance  near_jump = Label::kFar 
)
void JumpIfUIntNotValidSmiValue ( Register  src,
Label *  on_invalid,
Label::Distance  near_jump = Label::kFar 
)
void JumpToExternalReference ( const ExternalReference &  ext)
void JumpToExternalReference ( const ExternalReference &  builtin)
void JumpToExternalReference ( const ExternalReference &  ext,
int  result_size 
)
void JumpToExternalReference ( const ExternalReference &  builtin,
BranchDelaySlot  bd = PROTECT 
)
void JumpUnlessBothNonNegativeSmi ( Register  src1,
Register  src2,
Label *  on_not_both_smi,
Label::Distance  near_jump = Label::kFar 
)
void JumpUnlessNonNegativeSmi ( Register  src,
Label *  on_not_smi,
Label::Distance  near_jump = Label::kFar 
)
void Ldrd ( Register  dst1,
Register  dst2,
const MemOperand src,
Condition  cond = al 
)
void LeaveApiExitFrame ( )
void LeaveApiExitFrame ( )
void LeaveExitFrame ( bool  save_doubles)
void LeaveExitFrame ( bool  save_doubles = false)
void LeaveExitFrame ( bool  save_doubles,
Register  argument_count 
)
void LeaveExitFrame ( bool  save_doubles,
Register  arg_count,
bool  do_return = false 
)
void LeaveFrame ( StackFrame::Type  type)
void LeaveFrame ( StackFrame::Type  type)
void LeaveFrame ( StackFrame::Type  type)
void LeaveFrame ( StackFrame::Type  type)
void li ( Register  rd,
int32_t  j,
LiFlags  mode = OPTIMIZE_SIZE 
)
inline

Definition at line 598 of file macro-assembler-mips.h.

References MacroAssembler::li().

void li ( Register  dst,
Handle< Object value,
LiFlags  mode = OPTIMIZE_SIZE 
)
inline

Definition at line 601 of file macro-assembler-mips.h.

References MacroAssembler::li().

void Load ( Register  destination,
ExternalReference  source 
)
void LoadAddress ( Register  destination,
ExternalReference  source 
)
int LoadAddressSize ( ExternalReference  source)
void LoadContext ( Register  dst,
int  context_chain_length 
)
void LoadContext ( Register  dst,
int  context_chain_length 
)
void LoadContext ( Register  dst,
int  context_chain_length 
)
void LoadContext ( Register  dst,
int  context_chain_length 
)
void LoadFromNumberDictionary ( Label *  miss,
Register  elements,
Register  key,
Register  result,
Register  reg0,
Register  reg1,
Register  reg2 
)
void LoadFromNumberDictionary ( Label *  miss,
Register  elements,
Register  key,
Register  r0,
Register  r1,
Register  r2,
Register  result 
)
void LoadFromNumberDictionary ( Label *  miss,
Register  elements,
Register  key,
Register  result,
Register  t0,
Register  t1,
Register  t2 
)
void LoadFromNumberDictionary ( Label *  miss,
Register  elements,
Register  key,
Register  r0,
Register  r1,
Register  r2,
Register  result 
)
void LoadFromSafepointRegisterSlot ( Register  dst,
Register  src 
)
void LoadFromSafepointRegisterSlot ( Register  dst,
Register  src 
)
void LoadFromSafepointRegisterSlot ( Register  dst,
Register  src 
)
void LoadFromSafepointRegisterSlot ( Register  dst,
Register  src 
)
void LoadGlobalCell ( Register  dst,
Handle< JSGlobalPropertyCell cell 
)
void LoadGlobalFunction ( int  index,
Register  function 
)
void LoadGlobalFunction ( int  index,
Register  function 
)
void LoadGlobalFunction ( int  index,
Register  function 
)
void LoadGlobalFunction ( int  index,
Register  function 
)
void LoadGlobalFunctionInitialMap ( Register  function,
Register  map 
)
void LoadGlobalFunctionInitialMap ( Register  function,
Register  map,
Register  scratch 
)
void LoadGlobalFunctionInitialMap ( Register  function,
Register  map,
Register  scratch 
)
void LoadGlobalFunctionInitialMap ( Register  function,
Register  map 
)
void LoadHeapObject ( Register  dst,
Handle< HeapObject object 
)
void LoadHeapObject ( Register  result,
Handle< HeapObject object 
)
void LoadHeapObject ( Register  dst,
Handle< HeapObject object 
)
void LoadHeapObject ( Register  result,
Handle< HeapObject object 
)
void LoadInitialArrayMap ( Register  function_in,
Register  scratch,
Register  map_out,
bool  can_have_holes 
)
void LoadInitialArrayMap ( Register  function_in,
Register  scratch,
Register  map_out,
bool  can_have_holes 
)
void LoadInitialArrayMap ( Register  function_in,
Register  scratch,
Register  map_out,
bool  can_have_holes 
)
void LoadInitialArrayMap ( Register  function_in,
Register  scratch,
Register  map_out,
bool  can_have_holes 
)
void LoadInstanceDescriptors ( Register  map,
Register  descriptors 
)
void LoadInstanceDescriptors ( Register  map,
Register  descriptors 
)
void LoadInstanceDescriptors ( Register  map,
Register  descriptors 
)
void LoadInstanceDescriptors ( Register  map,
Register  descriptors 
)
void LoadObject ( Register  result,
Handle< Object object 
)
inline
void LoadObject ( Register  result,
Handle< Object object 
)
inline
void LoadObject ( Register  result,
Handle< Object object 
)
inline
void LoadObject ( Register  result,
Handle< Object object 
)
inline
void LoadPowerOf2 ( XMMRegister  dst,
Register  scratch,
int  power 
)
void LoadRoot ( Register  destination,
Heap::RootListIndex  index 
)
void LoadRoot ( Register  destination,
Heap::RootListIndex  index,
Condition  cond = al 
)
void LoadRoot ( Register  destination,
Heap::RootListIndex  index 
)
void LoadRoot ( Register  destination,
Heap::RootListIndex  index,
Condition  cond,
Register  src1,
const Operand &  src2 
)
void LoadRootIndexed ( Register  destination,
Register  variable_offset,
int  fixed_offset 
)
void LoadTransitionedArrayMapConditional ( ElementsKind  expected_kind,
ElementsKind  transitioned_kind,
Register  map_in_out,
Register  scratch,
Label *  no_map_match 
)
void LoadTransitionedArrayMapConditional ( ElementsKind  expected_kind,
ElementsKind  transitioned_kind,
Register  map_in_out,
Register  scratch,
Label *  no_map_match 
)
void LoadTransitionedArrayMapConditional ( ElementsKind  expected_kind,
ElementsKind  transitioned_kind,
Register  map_in_out,
Register  scratch,
Label *  no_map_match 
)
void LoadTransitionedArrayMapConditional ( ElementsKind  expected_kind,
ElementsKind  transitioned_kind,
Register  map_in_out,
Register  scratch,
Label *  no_map_match 
)
void LoadUint32 ( XMMRegister  dst,
Register  src,
XMMRegister  scratch 
)
void LoadUint32 ( XMMRegister  dst,
Register  src,
XMMRegister  scratch 
)
void MarkCode ( NopMarkerTypes  type)
inline

Definition at line 435 of file macro-assembler-mips.h.

References Assembler::nop().

void MarkCode ( NopMarkerTypes  type)
inline

Definition at line 644 of file macro-assembler-arm.h.

References Assembler::nop().

void Move ( Register  dst,
Handle< Object value 
)
void Move ( Register  dst,
Register  src,
Condition  cond = al 
)
void Move ( DoubleRegister  dst,
DoubleRegister  src 
)
void Move ( Register  dst,
Register  src 
)
inline

Definition at line 227 of file macro-assembler-mips.h.

References Register::is(), and MacroAssembler::mov().

void Move ( FPURegister  dst,
FPURegister  src 
)
inline

Definition at line 233 of file macro-assembler-mips.h.

References FPURegister::is(), and Assembler::mov_d().

void Move ( Register  dst_low,
Register  dst_high,
FPURegister  src 
)
inline
void Move ( FPURegister  dst,
Register  src_low,
Register  src_high 
)
inline
void Move ( FPURegister  dst,
double  imm 
)
void Move ( Register  dst,
Smi source 
)
inline

Definition at line 720 of file macro-assembler-x64.h.

void Move ( const Operand &  dst,
Smi source 
)
inline

Definition at line 724 of file macro-assembler-x64.h.

References Assembler::movq().

void Move ( Register  target,
Register  source 
)
void Move ( Register  dst,
Handle< Object source 
)
void Move ( Register  target,
Register  source 
)
void Move ( const Operand &  dst,
Handle< Object source 
)
void Movf ( Register  rd,
Register  rs,
uint16_t  cc = 0 
)
void Movn ( Register  rd,
Register  rs,
Register  rt 
)
void Movt ( Register  rd,
Register  rs,
uint16_t  cc = 0 
)
void Movz ( Register  rd,
Register  rs,
Register  rt 
)
void MultiPop ( RegList  regs)
void MultiPopFPU ( RegList  regs)
void MultiPopReversed ( RegList  regs)
void MultiPopReversedFPU ( RegList  regs)
void MultiPush ( RegList  regs)
void MultiPushFPU ( RegList  regs)
void MultiPushReversed ( RegList  regs)
void MultiPushReversedFPU ( RegList  regs)
void NegativeZeroTest ( Register  result,
Register  op,
Label *  then_label 
)
void NegativeZeroTest ( Register  result,
Register  op1,
Register  op2,
Register  scratch,
Label *  then_label 
)
void NegativeZeroTest ( Register  result,
Register  op,
Label *  then_label 
)
void NegativeZeroTest ( CodeGenerator cgen,
Register  result,
Register  op,
JumpTarget *  then_target 
)
void NegativeZeroTest ( Register  result,
Register  op1,
Register  op2,
Register  scratch,
Label *  then_label 
)
void NumberOfOwnDescriptors ( Register  dst,
Register  map 
)
void NumberOfOwnDescriptors ( Register  dst,
Register  map 
)
void NumberOfOwnDescriptors ( Register  dst,
Register  map 
)
void NumberOfOwnDescriptors ( Register  dst,
Register  map 
)
void ObjectToDoubleFPURegister ( Register  object,
FPURegister  value,
Register  scratch1,
Register  scratch2,
Register  heap_number_map,
Label *  not_number,
ObjectToDoubleFlags  flags = NO_OBJECT_TO_DOUBLE_FLAGS 
)
void ObjectToDoubleVFPRegister ( Register  object,
DwVfpRegister  value,
Register  scratch1,
Register  scratch2,
Register  heap_number_map,
SwVfpRegister  scratch3,
Label *  not_number,
ObjectToDoubleFlags  flags = NO_OBJECT_TO_DOUBLE_FLAGS 
)
void PatchRelocatedValue ( Register  li_location,
Register  scratch,
Register  new_value 
)
void pop ( Register  dst)
inline
void Pop ( Register  src1,
Register  src2 
)
inline
void Pop ( Register  src1,
Register  src2,
Register  src3 
)
inline
void Pop ( uint32_t  count = 1)
inline

Definition at line 685 of file macro-assembler-mips.h.

References v8::internal::kPointerSize, and v8::internal::sp.

void Popad ( )
void PopCallerSaved ( SaveFPRegsMode  fp_mode,
Register  exclusion1 = no_reg,
Register  exclusion2 = no_reg,
Register  exclusion3 = no_reg 
)
void PopSafepointRegisters ( )
inline

Definition at line 267 of file macro-assembler-ia32.h.

References Assembler::popad().

void PopSafepointRegisters ( )
inline

Definition at line 317 of file macro-assembler-x64.h.

References MacroAssembler::Popad().

void PopSafepointRegisters ( )
void PopSafepointRegisters ( )
void PopSafepointRegistersAndDoubles ( )
void PopSafepointRegistersAndDoubles ( )
void PopTryHandler ( )
void PopTryHandler ( )
void PopTryHandler ( )
void PopTryHandler ( )
void PositiveSmiDivPowerOfTwoToInteger32 ( Register  dst,
Register  src,
int  power 
)
void PositiveSmiTimesPowerOfTwoToInteger64 ( Register  dst,
Register  src,
int  power 
)
void PrepareCallApiFunction ( int  argc)
void PrepareCallApiFunction ( int  arg_stack_space)
void PrepareCallCFunction ( int  num_arguments,
Register  scratch 
)
void PrepareCallCFunction ( int  num_reg_arguments,
int  num_double_registers,
Register  scratch 
)
void PrepareCallCFunction ( int  num_reg_arguments,
Register  scratch 
)
void PrepareCallCFunction ( int  num_reg_arguments,
int  num_double_registers,
Register  scratch 
)
void PrepareCallCFunction ( int  num_reg_arguments,
Register  scratch 
)
void PrepareCallCFunction ( int  num_arguments)
void PrepareCEntryArgs ( int  num_args)
inline
void PrepareCEntryFunction ( const ExternalReference &  ref)
inline

Definition at line 1126 of file macro-assembler-mips.h.

References MacroAssembler::li(), and v8::internal::s2.

void Push ( Handle< Object handle)

Referenced by MacroAssembler::Push().

void push ( Register  src)
inline
void Push ( Handle< Object handle)
void Push ( Register  src1,
Register  src2 
)
inline
void Push ( Register  src1,
Register  src2,
Register  src3 
)
inline
void Push ( Register  src1,
Register  src2,
Register  src3,
Register  src4 
)
inline
void Push ( Register  src,
Condition  cond,
Register  tst1,
Register  tst2 
)
inline
void Push ( Smi smi)
void Push ( Handle< Object handle)
inline

Definition at line 790 of file macro-assembler-ia32.h.

References MacroAssembler::push().

void Push ( Handle< Object source)
void Pushad ( )
void PushAddress ( ExternalReference  source)
void PushCallerSaved ( SaveFPRegsMode  fp_mode,
Register  exclusion1 = no_reg,
Register  exclusion2 = no_reg,
Register  exclusion3 = no_reg 
)
void PushHeapObject ( Handle< HeapObject object)
void PushHeapObject ( Handle< HeapObject object)
void PushRoot ( Heap::RootListIndex  index)
void PushSafepointRegisters ( )
inline

Definition at line 266 of file macro-assembler-ia32.h.

References Assembler::pushad().

void PushSafepointRegisters ( )
inline

Definition at line 316 of file macro-assembler-x64.h.

References MacroAssembler::Pushad().

void PushSafepointRegisters ( )
void PushSafepointRegisters ( )
void PushSafepointRegistersAndDoubles ( )
void PushSafepointRegistersAndDoubles ( )
void PushTryHandler ( StackHandler::Kind  kind,
int  handler_index 
)
void PushTryHandler ( StackHandler::Kind  kind,
int  handler_index 
)
void PushTryHandler ( StackHandler::Kind  kind,
int  handler_index 
)
void PushTryHandler ( StackHandler::Kind  kind,
int  handler_index 
)
void RecordWrite ( Register  object,
Register  address,
Register  value,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWrite ( Register  object,
Register  address,
Register  value,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWrite ( Register  object,
Register  address,
Register  value,
LinkRegisterStatus  lr_status,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWrite ( Register  object,
Register  address,
Register  value,
RAStatus  ra_status,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteArray ( Register  array,
Register  value,
Register  index,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteArray ( Register  array,
Register  value,
Register  index,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteContextSlot ( Register  context,
int  offset,
Register  value,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
inline
void RecordWriteContextSlot ( Register  context,
int  offset,
Register  value,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
inline
void RecordWriteContextSlot ( Register  context,
int  offset,
Register  value,
Register  scratch,
LinkRegisterStatus  lr_status,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
inline
void RecordWriteContextSlot ( Register  context,
int  offset,
Register  value,
Register  scratch,
RAStatus  ra_status,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
inline
void RecordWriteField ( Register  object,
int  offset,
Register  value,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteField ( Register  object,
int  offset,
Register  value,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteField ( Register  object,
int  offset,
Register  value,
Register  scratch,
LinkRegisterStatus  lr_status,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteField ( Register  object,
int  offset,
Register  value,
Register  scratch,
RAStatus  ra_status,
SaveFPRegsMode  save_fp,
RememberedSetAction  remembered_set_action = EMIT_REMEMBERED_SET,
SmiCheck  smi_check = INLINE_SMI_CHECK 
)
void RecordWriteForMap ( Register  object,
Handle< Map map,
Register  scratch1,
Register  scratch2,
SaveFPRegsMode  save_fp 
)
void RememberedSetHelper ( Register  object,
Register  addr,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetFinalAction  and_then 
)
void RememberedSetHelper ( Register  object,
Register  addr,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetFinalAction  and_then 
)
void RememberedSetHelper ( Register  object,
Register  addr,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetFinalAction  and_then 
)
void RememberedSetHelper ( Register  object,
Register  addr,
Register  scratch,
SaveFPRegsMode  save_fp,
RememberedSetFinalAction  and_then 
)
void Ret ( Condition  cond = al)
void Ret ( int  drop,
Condition  cond = al 
)
void Ret ( COND_ARGS  )
void Ret ( BranchDelaySlot  bd,
Condition  cond = al,
Register  rs = zero_reg,
const Operand &  rt = Operand(zero_reg) 
)
inline

Definition at line 192 of file macro-assembler-mips.h.

References MacroAssembler::Ret().

void Ret ( int  bytes_dropped,
Register  scratch 
)
void Ret ( )
void Ret ( int  bytes_dropped,
Register  scratch 
)
void RetOnNoOverflow ( Register  overflow_check,
BranchDelaySlot  bd = PROTECT 
)
inline

Definition at line 1113 of file macro-assembler-mips.h.

References v8::internal::ge, and MacroAssembler::Ret().

void RetOnOverflow ( Register  overflow_check,
BranchDelaySlot  bd = PROTECT 
)
inline

Definition at line 1109 of file macro-assembler-mips.h.

References v8::internal::lt, and MacroAssembler::Ret().

void Round_w_d ( FPURegister  fd,
FPURegister  fs 
)
void SafeMove ( Register  dst,
Smi src 
)
static int SafepointRegisterStackIndex ( Register  reg)
inlinestatic

Definition at line 853 of file macro-assembler-ia32.h.

References Register::code().

static int SafepointRegisterStackIndex ( Register  reg)
inlinestatic

Definition at line 1316 of file macro-assembler-x64.h.

References Register::code().

void SafePush ( const Immediate &  x)
void SafePush ( Smi src)
void SafeSet ( Register  dst,
const Immediate &  x 
)
void Sbfx ( Register  dst,
Register  src,
int  lsb,
int  width,
Condition  cond = al 
)
void SelectNonSmi ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smis,
Label::Distance  near_jump = Label::kFar 
)
void Set ( Register  dst,
const Immediate &  x 
)
void Set ( const Operand &  dst,
const Immediate &  x 
)
void Set ( Register  dst,
int64_t  x 
)
void Set ( const Operand &  dst,
int64_t  x 
)
void set_allow_stub_calls ( bool  value)
inline

Definition at line 829 of file macro-assembler-ia32.h.

void set_allow_stub_calls ( bool  value)
inline
void set_allow_stub_calls ( bool  value)
inline

Definition at line 1274 of file macro-assembler-mips.h.

void set_allow_stub_calls ( bool  value)
inline

Definition at line 1310 of file macro-assembler-x64.h.

void set_generating_stub ( bool  value)
inline

Definition at line 827 of file macro-assembler-ia32.h.

void set_generating_stub ( bool  value)
inline

Definition at line 1132 of file macro-assembler-arm.h.

void set_generating_stub ( bool  value)
inline

Definition at line 1272 of file macro-assembler-mips.h.

void set_generating_stub ( bool  value)
inline

Definition at line 1308 of file macro-assembler-x64.h.

void set_has_frame ( bool  value)
inline

Definition at line 831 of file macro-assembler-ia32.h.

void set_has_frame ( bool  value)
inline

Definition at line 1276 of file macro-assembler-mips.h.

void set_has_frame ( bool  value)
inline

Definition at line 1312 of file macro-assembler-x64.h.

void SetCallCDoubleArguments ( DoubleRegister  dreg)
void SetCallCDoubleArguments ( DoubleRegister  dreg1,
DoubleRegister  dreg2 
)
void SetCallCDoubleArguments ( DoubleRegister  dreg,
Register  reg 
)
void SetCallCDoubleArguments ( DoubleRegister  dreg)
void SetCallCDoubleArguments ( DoubleRegister  dreg1,
DoubleRegister  dreg2 
)
void SetCallCDoubleArguments ( DoubleRegister  dreg,
Register  reg 
)
void SetCallKind ( Register  dst,
CallKind  kind 
)
void SetCallKind ( Register  dst,
CallKind  kind 
)
void SetCallKind ( Register  dst,
CallKind  kind 
)
void SetCallKind ( Register  dst,
CallKind  kind 
)
void SetCounter ( StatsCounter counter,
int  value 
)
void SetCounter ( StatsCounter counter,
int  value,
Register  scratch1,
Register  scratch2 
)
void SetCounter ( StatsCounter counter,
int  value,
Register  scratch1,
Register  scratch2 
)
void SetCounter ( StatsCounter counter,
int  value 
)
void SmiAdd ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiAdd ( Register  dst,
Register  src1,
const Operand &  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiAdd ( Register  dst,
Register  src1,
Register  src2 
)
void SmiAddConstant ( Register  dst,
Register  src,
Smi constant 
)
void SmiAddConstant ( const Operand &  dst,
Smi constant 
)
void SmiAddConstant ( Register  dst,
Register  src,
Smi constant,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiAnd ( Register  dst,
Register  src1,
Register  src2 
)
void SmiAndConstant ( Register  dst,
Register  src1,
Smi constant 
)
void SmiCompare ( Register  smi1,
Register  smi2 
)
void SmiCompare ( Register  dst,
Smi src 
)
void SmiCompare ( Register  dst,
const Operand &  src 
)
void SmiCompare ( const Operand &  dst,
Register  src 
)
void SmiCompare ( const Operand &  dst,
Smi src 
)
void SmiCompareInteger32 ( const Operand &  dst,
Register  src 
)
void SmiDiv ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiMod ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiMul ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiNeg ( Register  dst,
Register  src,
Label *  on_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiNot ( Register  dst,
Register  src 
)
void SmiOr ( Register  dst,
Register  src1,
Register  src2 
)
void SmiOrConstant ( Register  dst,
Register  src1,
Smi constant 
)
void SmiOrIfSmis ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smis,
Label::Distance  near_jump = Label::kFar 
)
void SmiShiftArithmeticRight ( Register  dst,
Register  src1,
Register  src2 
)
void SmiShiftArithmeticRightConstant ( Register  dst,
Register  src,
int  shift_value 
)
void SmiShiftLeft ( Register  dst,
Register  src1,
Register  src2 
)
void SmiShiftLeftConstant ( Register  dst,
Register  src,
int  shift_value 
)
void SmiShiftLogicalRight ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiShiftLogicalRightConstant ( Register  dst,
Register  src,
int  shift_value,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiSub ( Register  dst,
Register  src1,
Register  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiSub ( Register  dst,
Register  src1,
Register  src2 
)
void SmiSub ( Register  dst,
Register  src1,
const Operand &  src2,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiSub ( Register  dst,
Register  src1,
const Operand &  src2 
)
void SmiSubConstant ( Register  dst,
Register  src,
Smi constant 
)
void SmiSubConstant ( Register  dst,
Register  src,
Smi constant,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiTag ( Register  reg)
inline
void SmiTag ( Register  reg,
SBit  s = LeaveCC 
)
inline

Definition at line 1173 of file macro-assembler-arm.h.

References Assembler::add().

Referenced by MacroAssembler::TrySmiTag().

void SmiTag ( Register  dst,
Register  src,
SBit  s = LeaveCC 
)
inline

Definition at line 1176 of file macro-assembler-arm.h.

References Assembler::add().

void SmiTag ( Register  reg)
inline

Definition at line 1294 of file macro-assembler-mips.h.

void SmiTag ( Register  dst,
Register  src 
)
inline

Definition at line 1302 of file macro-assembler-mips.h.

void SmiTagCheckOverflow ( Register  reg,
Register  overflow 
)
void SmiTagCheckOverflow ( Register  dst,
Register  src,
Register  overflow 
)
void SmiTest ( Register  src)
void SmiToDoubleFPURegister ( Register  smi,
FPURegister  value,
Register  scratch1 
)
void SmiToDoubleVFPRegister ( Register  smi,
DwVfpRegister  value,
Register  scratch1,
SwVfpRegister  scratch2 
)
SmiIndex SmiToIndex ( Register  dst,
Register  src,
int  shift 
)

Referenced by TestSmiIndex().

void SmiToInteger32 ( Register  dst,
Register  src 
)
void SmiToInteger32 ( Register  dst,
const Operand &  src 
)
void SmiToInteger64 ( Register  dst,
Register  src 
)
void SmiToInteger64 ( Register  dst,
const Operand &  src 
)
SmiIndex SmiToNegativeIndex ( Register  dst,
Register  src,
int  shift 
)

Referenced by TestSmiIndex().

void SmiTryAddConstant ( Register  dst,
Register  src,
Smi constant,
Label *  on_not_smi_result,
Label::Distance  near_jump = Label::kFar 
)
void SmiUntag ( Register  reg)
inline

Definition at line 458 of file macro-assembler-ia32.h.

References v8::internal::kSmiTagSize, and Assembler::sar().

void SmiUntag ( Register  reg,
Label *  is_smi 
)
inline
void SmiUntag ( Register  reg,
SBit  s = LeaveCC 
)
inline
void SmiUntag ( Register  dst,
Register  src,
SBit  s = LeaveCC 
)
inline
void SmiUntag ( Register  reg)
inline

Definition at line 1306 of file macro-assembler-mips.h.

References v8::internal::kSmiTagSize, and Assembler::sra().

void SmiUntag ( Register  dst,
Register  src 
)
inline

Definition at line 1310 of file macro-assembler-mips.h.

References v8::internal::kSmiTagSize, and Assembler::sra().

void SmiXor ( Register  dst,
Register  src1,
Register  src2 
)
void SmiXorConstant ( Register  dst,
Register  src1,
Smi constant 
)
void Store ( ExternalReference  destination,
Register  source 
)
void StoreNumberToDoubleElements ( Register  maybe_number,
Register  elements,
Register  key,
Register  scratch1,
XMMRegister  scratch2,
Label *  fail,
bool  specialize_for_processor 
)
void StoreNumberToDoubleElements ( Register  value_reg,
Register  key_reg,
Register  receiver_reg,
Register  elements_reg,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Register  scratch4,
Label *  fail 
)
void StoreNumberToDoubleElements ( Register  maybe_number,
Register  elements,
Register  index,
XMMRegister  xmm_scratch,
Label *  fail 
)
void StoreNumberToDoubleElements ( Register  value_reg,
Register  key_reg,
Register  receiver_reg,
Register  elements_reg,
Register  scratch1,
Register  scratch2,
Register  scratch3,
Register  scratch4,
Label *  fail 
)
void StoreRoot ( Register  source,
Heap::RootListIndex  index 
)
void StoreRoot ( Register  source,
Heap::RootListIndex  index,
Condition  cond = al 
)
void StoreRoot ( Register  source,
Heap::RootListIndex  index 
)
void StoreRoot ( Register  source,
Heap::RootListIndex  index,
Condition  cond,
Register  src1,
const Operand &  src2 
)
void StoreToSafepointRegistersAndDoublesSlot ( Register  src,
Register  dst 
)
void StoreToSafepointRegistersAndDoublesSlot ( Register  src,
Register  dst 
)
void StoreToSafepointRegisterSlot ( Register  dst,
Register  src 
)
void StoreToSafepointRegisterSlot ( Register  dst,
Immediate  src 
)
void StoreToSafepointRegisterSlot ( Register  dst,
const Immediate &  imm 
)
void StoreToSafepointRegisterSlot ( Register  dst,
Register  src 
)
void StoreToSafepointRegisterSlot ( Register  src,
Register  dst 
)
void StoreToSafepointRegisterSlot ( Register  src,
Register  dst 
)
void Strd ( Register  src1,
Register  src2,
const MemOperand dst,
Condition  cond = al 
)
void StubReturn ( int  argc)
void StubReturn ( int  argc)
void SubuAndCheckForOverflow ( Register  dst,
Register  left,
Register  right,
Register  overflow_dst,
Register  scratch = at 
)
void Swap ( Register  reg1,
Register  reg2,
Register  scratch = no_reg,
Condition  cond = al 
)
void Swap ( Register  reg1,
Register  reg2,
Register  scratch = no_reg 
)
void TailCallExternalReference ( const ExternalReference &  ext,
int  num_arguments,
int  result_size 
)
void TailCallExternalReference ( const ExternalReference &  ext,
int  num_arguments,
int  result_size 
)
void TailCallExternalReference ( const ExternalReference &  ext,
int  num_arguments,
int  result_size 
)
void TailCallExternalReference ( const ExternalReference &  ext,
int  num_arguments,
int  result_size 
)
void TailCallRuntime ( Runtime::FunctionId  fid,
int  num_arguments,
int  result_size 
)
void TailCallRuntime ( Runtime::FunctionId  fid,
int  num_arguments,
int  result_size 
)
void TailCallRuntime ( Runtime::FunctionId  fid,
int  num_arguments,
int  result_size 
)
void TailCallRuntime ( Runtime::FunctionId  fid,
int  num_arguments,
int  result_size 
)
void TailCallStub ( CodeStub *  stub)
void TailCallStub ( CodeStub *  stub,
Condition  cond = al 
)
void TailCallStub ( CodeStub *  stub)
void TailCallStub ( CodeStub *  stub)
void Test ( const Operand &  dst,
Smi source 
)
void TestBit ( const Operand &  dst,
int  bit_index 
)
void Throw ( Register  value)
void Throw ( Register  value)
void Throw ( Register  value)
void Throw ( Register  value)
void ThrowUncatchable ( Register  value)
void ThrowUncatchable ( Register  value)
void ThrowUncatchable ( Register  value)
void ThrowUncatchable ( Register  value)
void Trunc_uw_d ( FPURegister  fd,
FPURegister  fs,
FPURegister  scratch 
)
void Trunc_uw_d ( FPURegister  fd,
Register  rs,
FPURegister  scratch 
)
void Trunc_w_d ( FPURegister  fd,
FPURegister  fs 
)
void TryGetFunctionPrototype ( Register  function,
Register  result,
Register  scratch,
Label *  miss,
bool  miss_on_bound_function = false 
)
void TryGetFunctionPrototype ( Register  function,
Register  result,
Register  scratch,
Label *  miss,
bool  miss_on_bound_function = false 
)
void TryGetFunctionPrototype ( Register  function,
Register  result,
Register  scratch,
Label *  miss,
bool  miss_on_bound_function = false 
)
void TryGetFunctionPrototype ( Register  function,
Register  result,
Label *  miss,
bool  miss_on_bound_function = false 
)
void TrySmiTag ( Register  reg,
Label *  not_a_smi,
Register  scratch 
)
inline
void Ubfx ( Register  dst,
Register  src,
int  lsb,
int  width,
Condition  cond = al 
)
void UndoAllocationInNewSpace ( Register  object,
Register  scratch 
)
void UndoAllocationInNewSpace ( Register  object)
void UndoAllocationInNewSpace ( Register  object,
Register  scratch 
)
void UndoAllocationInNewSpace ( Register  object)
void UntagAndJumpIfNotSmi ( Register  dst,
Register  src,
Label *  non_smi_case 
)
void UntagAndJumpIfNotSmi ( Register  dst,
Register  src,
Label *  non_smi_case 
)
void UntagAndJumpIfSmi ( Register  dst,
Register  src,
Label *  smi_case 
)
void UntagAndJumpIfSmi ( Register  dst,
Register  src,
Label *  smi_case 
)
void Usat ( Register  dst,
int  satpos,
const Operand &  src,
Condition  cond = al 
)
bool use_eabi_hardfloat ( )
inline

Definition at line 1141 of file macro-assembler-arm.h.

void VFPCompareAndLoadFlags ( const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Register  fpscr_flags,
const Condition  cond = al 
)
void VFPCompareAndLoadFlags ( const DwVfpRegister  src1,
const double  src2,
const Register  fpscr_flags,
const Condition  cond = al 
)
void VFPCompareAndSetFlags ( const DwVfpRegister  src1,
const DwVfpRegister  src2,
const Condition  cond = al 
)
void VFPCompareAndSetFlags ( const DwVfpRegister  src1,
const double  src2,
const Condition  cond = al 
)
void Vmov ( const DwVfpRegister  dst,
const double  imm,
const Register  scratch = no_reg,
const Condition  cond = al 
)

Friends And Related Function Documentation

Definition at line 1366 of file macro-assembler-arm.h.


The documentation for this class was generated from the following files: