summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/bytecode/DFGExitProfile.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/bytecode/DFGExitProfile.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/bytecode/DFGExitProfile.h')
-rw-r--r--Source/JavaScriptCore/bytecode/DFGExitProfile.h48
1 files changed, 7 insertions, 41 deletions
diff --git a/Source/JavaScriptCore/bytecode/DFGExitProfile.h b/Source/JavaScriptCore/bytecode/DFGExitProfile.h
index cdecbaf97..ab1a60d58 100644
--- a/Source/JavaScriptCore/bytecode/DFGExitProfile.h
+++ b/Source/JavaScriptCore/bytecode/DFGExitProfile.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011, 2012, 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2011, 2012, 2013 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -26,12 +26,10 @@
#ifndef DFGExitProfile_h
#define DFGExitProfile_h
-#if ENABLE(DFG_JIT)
-
#include "ConcurrentJITLock.h"
#include "ExitKind.h"
-#include "ExitingJITType.h"
#include <wtf/HashSet.h>
+#include <wtf/OwnPtr.h>
#include <wtf/Vector.h>
namespace JSC { namespace DFG {
@@ -41,21 +39,18 @@ public:
FrequentExitSite()
: m_bytecodeOffset(0) // 0 = empty value
, m_kind(ExitKindUnset)
- , m_jitType(ExitFromAnything)
{
}
FrequentExitSite(WTF::HashTableDeletedValueType)
: m_bytecodeOffset(1) // 1 = deleted value
, m_kind(ExitKindUnset)
- , m_jitType(ExitFromAnything)
{
}
- explicit FrequentExitSite(unsigned bytecodeOffset, ExitKind kind, ExitingJITType jitType = ExitFromAnything)
+ explicit FrequentExitSite(unsigned bytecodeOffset, ExitKind kind)
: m_bytecodeOffset(bytecodeOffset)
, m_kind(kind)
- , m_jitType(jitType)
{
if (m_kind == ArgumentsEscaped) {
// Count this one globally. It doesn't matter where in the code block the arguments excaped;
@@ -66,10 +61,9 @@ public:
// Use this constructor if you wish for the exit site to be counted globally within its
// code block.
- explicit FrequentExitSite(ExitKind kind, ExitingJITType jitType = ExitFromAnything)
+ explicit FrequentExitSite(ExitKind kind)
: m_bytecodeOffset(0)
, m_kind(kind)
- , m_jitType(jitType)
{
}
@@ -81,36 +75,16 @@ public:
bool operator==(const FrequentExitSite& other) const
{
return m_bytecodeOffset == other.m_bytecodeOffset
- && m_kind == other.m_kind
- && m_jitType == other.m_jitType;
- }
-
- bool subsumes(const FrequentExitSite& other) const
- {
- if (m_bytecodeOffset != other.m_bytecodeOffset)
- return false;
- if (m_kind != other.m_kind)
- return false;
- if (m_jitType == ExitFromAnything)
- return true;
- return m_jitType == other.m_jitType;
+ && m_kind == other.m_kind;
}
unsigned hash() const
{
- return WTF::intHash(m_bytecodeOffset) + m_kind + m_jitType * 7;
+ return WTF::intHash(m_bytecodeOffset) + m_kind;
}
unsigned bytecodeOffset() const { return m_bytecodeOffset; }
ExitKind kind() const { return m_kind; }
- ExitingJITType jitType() const { return m_jitType; }
-
- FrequentExitSite withJITType(ExitingJITType jitType) const
- {
- FrequentExitSite result = *this;
- result.m_jitType = jitType;
- return result;
- }
bool isHashTableDeletedValue() const
{
@@ -120,7 +94,6 @@ public:
private:
unsigned m_bytecodeOffset;
ExitKind m_kind;
- ExitingJITType m_jitType;
};
struct FrequentExitSiteHash {
@@ -131,7 +104,6 @@ struct FrequentExitSiteHash {
} } // namespace JSC::DFG
-
namespace WTF {
template<typename T> struct DefaultHash;
@@ -182,7 +154,7 @@ public:
private:
friend class QueryableExitProfile;
- std::unique_ptr<Vector<FrequentExitSite>> m_frequentExitSites;
+ OwnPtr<Vector<FrequentExitSite>> m_frequentExitSites;
};
class QueryableExitProfile {
@@ -194,10 +166,6 @@ public:
bool hasExitSite(const FrequentExitSite& site) const
{
- if (site.jitType() == ExitFromAnything) {
- return hasExitSite(site.withJITType(ExitFromDFG))
- || hasExitSite(site.withJITType(ExitFromFTL));
- }
return m_frequentExitSites.find(site) != m_frequentExitSites.end();
}
@@ -216,6 +184,4 @@ private:
} } // namespace JSC::DFG
-#endif // ENABLE(DFG_JIT)
-
#endif // DFGExitProfile_h