Changeset 44705 in webkit for trunk/JavaScriptCore/assembler
- Timestamp:
- Jun 15, 2009, 8:01:12 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/assembler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/AbstractMacroAssembler.h
r44700 r44705 58 58 class CodeLocationDataLabel32; 59 59 class CodeLocationDataLabelPtr; 60 class ProcessorReturnAddress;61 60 62 61 typedef typename AssemblerType::RegisterID RegisterID; … … 493 492 friend class PatchBuffer; 494 493 friend class RepatchBuffer; 495 friend class ProcessorReturnAddress;496 494 497 495 public: … … 628 626 { 629 627 } 630 };631 632 // ProcessorReturnAddress:633 //634 // This class can be used to relink a call identified by its return address.635 class ProcessorReturnAddress {636 public:637 ProcessorReturnAddress(void* location)638 : m_location(location)639 {640 }641 642 void* addressForLookup()643 {644 return m_location.value();645 }646 647 ReturnAddressPtr m_location;648 628 }; 649 629 … … 863 843 } 864 844 865 void relinkCallerToTrampoline( ProcessorReturnAddressreturnAddress, CodeLocationLabel label)866 { 867 relink(CodeLocationCall(CodePtr(returnAddress .m_location)), label);868 } 869 870 void relinkCallerToTrampoline( ProcessorReturnAddressreturnAddress, CodePtr newCalleeFunction)845 void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label) 846 { 847 relink(CodeLocationCall(CodePtr(returnAddress)), label); 848 } 849 850 void relinkCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction) 871 851 { 872 852 relinkCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction)); 873 853 } 874 854 875 void relinkCallerToFunction( ProcessorReturnAddressreturnAddress, FunctionPtr function)876 { 877 relink(CodeLocationCall(CodePtr(returnAddress .m_location)), function);878 } 879 880 void relinkNearCallerToTrampoline( ProcessorReturnAddressreturnAddress, CodeLocationLabel label)881 { 882 relink(CodeLocationNearCall(CodePtr(returnAddress .m_location)), label);883 } 884 885 void relinkNearCallerToTrampoline( ProcessorReturnAddressreturnAddress, CodePtr newCalleeFunction)855 void relinkCallerToFunction(ReturnAddressPtr returnAddress, FunctionPtr function) 856 { 857 relink(CodeLocationCall(CodePtr(returnAddress)), function); 858 } 859 860 void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodeLocationLabel label) 861 { 862 relink(CodeLocationNearCall(CodePtr(returnAddress)), label); 863 } 864 865 void relinkNearCallerToTrampoline(ReturnAddressPtr returnAddress, CodePtr newCalleeFunction) 886 866 { 887 867 relinkNearCallerToTrampoline(returnAddress, CodeLocationLabel(newCalleeFunction)); -
trunk/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
r44514 r44705 99 99 } 100 100 101 explicit ReturnAddressPtr(FunctionPtr function) 102 : m_value(function.value()) 103 { 104 ASSERT_VALID_CODE_POINTER(m_value); 105 } 106 101 107 void* value() const { return m_value; } 102 108
Note:
See TracChangeset
for help on using the changeset viewer.