diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-10 10:13:14 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-01-28 19:04:19 +0000 |
commit | d5579e7094c70db66a193ae1daffd4c71e8fc10b (patch) | |
tree | e4dbd9222a97d1e36c66a97a2aa4ec65546b9835 /src/3rdparty/masm/assembler/AbstractMacroAssembler.h | |
parent | 3f3f972f91642d41a9fad212e32b3193555db42a (diff) |
Make JSC::LinkBuffer a template
Unfortunately the link buffer depends on target platform types.
Change-Id: Idb49e72e8e864c709293a7b315dff948bc58e62a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/3rdparty/masm/assembler/AbstractMacroAssembler.h')
-rw-r--r-- | src/3rdparty/masm/assembler/AbstractMacroAssembler.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/3rdparty/masm/assembler/AbstractMacroAssembler.h b/src/3rdparty/masm/assembler/AbstractMacroAssembler.h index e90dd235c6..ea91a99b08 100644 --- a/src/3rdparty/masm/assembler/AbstractMacroAssembler.h +++ b/src/3rdparty/masm/assembler/AbstractMacroAssembler.h @@ -47,6 +47,7 @@ namespace JSC { class JumpReplacementWatchpoint; +template <typename> class LinkBuffer; class RepatchBuffer; class Watchpoint; @@ -325,7 +326,7 @@ public: friend class Jump; friend class JumpReplacementWatchpoint; friend class MacroAssemblerCodeRef; - friend class LinkBuffer; + template <typename> friend class LinkBuffer; friend class Watchpoint; public: @@ -356,7 +357,7 @@ public: class ConvertibleLoadLabel { template<class TemplateAssemblerType> friend class AbstractMacroAssembler; - friend class LinkBuffer; + template <typename> friend class LinkBuffer; public: ConvertibleLoadLabel() @@ -380,7 +381,7 @@ public: class DataLabelPtr { template<class TemplateAssemblerType> friend class AbstractMacroAssembler; - friend class LinkBuffer; + template <typename> friend class LinkBuffer; public: DataLabelPtr() { @@ -404,7 +405,7 @@ public: class DataLabel32 { template<class TemplateAssemblerType> friend class AbstractMacroAssembler; - friend class LinkBuffer; + template <typename> friend class LinkBuffer; public: DataLabel32() { @@ -428,7 +429,7 @@ public: class DataLabelCompact { template<class TemplateAssemblerType> friend class AbstractMacroAssembler; - friend class LinkBuffer; + template <typename> friend class LinkBuffer; public: DataLabelCompact() { @@ -503,7 +504,7 @@ public: friend class AbstractMacroAssembler; friend class Call; friend struct DFG::OSRExit; - friend class LinkBuffer; + template <typename> friend class LinkBuffer; public: Jump() { @@ -645,7 +646,7 @@ public: // A JumpList is a set of Jump objects. // All jumps in the set will be linked to the same destination. class JumpList { - friend class LinkBuffer; + template <typename> friend class LinkBuffer; public: typedef Vector<Jump, 2> JumpVector; @@ -819,7 +820,7 @@ protected: static bool shouldBlindForSpecificArch(uint64_t) { return true; } #endif - friend class LinkBuffer; + template <typename> friend class LinkBuffer; friend class RepatchBuffer; static void linkJump(void* code, Jump jump, CodeLocationLabel target) |