diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-07-11 13:45:28 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-07-11 13:45:28 +0200 |
commit | d6a599dbc9d824a462b2b206316e102bf8136446 (patch) | |
tree | ecb257a5e55b2239d74b90fdad62fccd661cf286 /Source/JavaScriptCore/assembler/CodeLocation.h | |
parent | 3ccc3a85f09a83557b391aae380d3bf5f81a2911 (diff) | |
download | qtwebkit-d6a599dbc9d824a462b2b206316e102bf8136446.tar.gz |
Imported WebKit commit 8ff1f22783a32de82fee915abd55bd1b298f2644 (http://svn.webkit.org/repository/webkit/trunk@122325)
New snapshot that should work with the latest Qt build system changes
Diffstat (limited to 'Source/JavaScriptCore/assembler/CodeLocation.h')
-rw-r--r-- | Source/JavaScriptCore/assembler/CodeLocation.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/assembler/CodeLocation.h b/Source/JavaScriptCore/assembler/CodeLocation.h index 9500b1ee4..86d1f2b75 100644 --- a/Source/JavaScriptCore/assembler/CodeLocation.h +++ b/Source/JavaScriptCore/assembler/CodeLocation.h @@ -40,6 +40,7 @@ class CodeLocationNearCall; class CodeLocationDataLabelCompact; class CodeLocationDataLabel32; class CodeLocationDataLabelPtr; +class CodeLocationConvertibleLoad; // The CodeLocation* types are all pretty much do-nothing wrappers around // CodePtr (or MacroAssemblerCodePtr, to give it its full name). These @@ -62,6 +63,7 @@ public: CodeLocationDataLabelPtr dataLabelPtrAtOffset(int offset); CodeLocationDataLabel32 dataLabel32AtOffset(int offset); CodeLocationDataLabelCompact dataLabelCompactAtOffset(int offset); + CodeLocationConvertibleLoad convertibleLoadAtOffset(int offset); protected: CodeLocationCommon() @@ -146,6 +148,15 @@ public: : CodeLocationCommon(MacroAssemblerCodePtr(location)) {} }; +class CodeLocationConvertibleLoad : public CodeLocationCommon { +public: + CodeLocationConvertibleLoad() { } + explicit CodeLocationConvertibleLoad(MacroAssemblerCodePtr location) + : CodeLocationCommon(location) { } + explicit CodeLocationConvertibleLoad(void* location) + : CodeLocationCommon(MacroAssemblerCodePtr(location)) { } +}; + inline CodeLocationInstruction CodeLocationCommon::instructionAtOffset(int offset) { ASSERT_VALID_CODE_OFFSET(offset); @@ -194,6 +205,12 @@ inline CodeLocationDataLabelCompact CodeLocationCommon::dataLabelCompactAtOffset return CodeLocationDataLabelCompact(reinterpret_cast<char*>(dataLocation()) + offset); } +inline CodeLocationConvertibleLoad CodeLocationCommon::convertibleLoadAtOffset(int offset) +{ + ASSERT_VALID_CODE_OFFSET(offset); + return CodeLocationConvertibleLoad(reinterpret_cast<char*>(dataLocation()) + offset); +} + } // namespace JSC #endif // ENABLE(ASSEMBLER) |