diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2016-04-10 09:28:39 +0000 |
commit | 32761a6cee1d0dee366b885b7b9c777e67885688 (patch) | |
tree | d6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/bytecode/DFGExitProfile.h | |
parent | a4e969f4965059196ca948db781e52f7cfebf19e (diff) | |
download | WebKitGtk-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.h | 48 |
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 |