aboutsummaryrefslogtreecommitdiffstats
path: root/src/3rdparty/masm/assembler/AbstractMacroAssembler.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2017-01-10 10:13:14 +0100
committerSimon Hausmann <simon.hausmann@qt.io>2017-01-28 19:04:19 +0000
commitd5579e7094c70db66a193ae1daffd4c71e8fc10b (patch)
treee4dbd9222a97d1e36c66a97a2aa4ec65546b9835 /src/3rdparty/masm/assembler/AbstractMacroAssembler.h
parent3f3f972f91642d41a9fad212e32b3193555db42a (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.h17
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)