summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/dfg/DFGCommonData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGCommonData.cpp')
-rw-r--r--Source/JavaScriptCore/dfg/DFGCommonData.cpp60
1 files changed, 7 insertions, 53 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGCommonData.cpp b/Source/JavaScriptCore/dfg/DFGCommonData.cpp
index ee7ec3b5a..7b7ed0e40 100644
--- a/Source/JavaScriptCore/dfg/DFGCommonData.cpp
+++ b/Source/JavaScriptCore/dfg/DFGCommonData.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013, 2015 Apple Inc. All rights reserved.
+ * Copyright (C) 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
@@ -31,9 +31,7 @@
#include "CodeBlock.h"
#include "DFGNode.h"
#include "DFGPlan.h"
-#include "InlineCallFrame.h"
-#include "JSCInlines.h"
-#include "TrackedReferences.h"
+#include "Operations.h"
#include "VM.h"
namespace JSC { namespace DFG {
@@ -42,42 +40,19 @@ void CommonData::notifyCompilingStructureTransition(Plan& plan, CodeBlock* codeB
{
plan.transitions.addLazily(
codeBlock,
- node->origin.semantic.codeOriginOwner(),
- node->transition()->previous,
- node->transition()->next);
+ node->codeOrigin.codeOriginOwner(),
+ node->structureTransitionData().previousStructure,
+ node->structureTransitionData().newStructure);
}
-CallSiteIndex CommonData::addCodeOrigin(CodeOrigin codeOrigin)
+unsigned CommonData::addCodeOrigin(CodeOrigin codeOrigin)
{
if (codeOrigins.isEmpty()
|| codeOrigins.last() != codeOrigin)
codeOrigins.append(codeOrigin);
unsigned index = codeOrigins.size() - 1;
ASSERT(codeOrigins[index] == codeOrigin);
- return CallSiteIndex(index);
-}
-
-CallSiteIndex CommonData::addUniqueCallSiteIndex(CodeOrigin codeOrigin)
-{
- if (callSiteIndexFreeList.size())
- return CallSiteIndex(callSiteIndexFreeList.takeAny());
-
- codeOrigins.append(codeOrigin);
- unsigned index = codeOrigins.size() - 1;
- ASSERT(codeOrigins[index] == codeOrigin);
- return CallSiteIndex(index);
-}
-
-CallSiteIndex CommonData::lastCallSite() const
-{
- RELEASE_ASSERT(codeOrigins.size());
- return CallSiteIndex(codeOrigins.size() - 1);
-}
-
-void CommonData::removeCallSiteIndex(CallSiteIndex callSite)
-{
- RELEASE_ASSERT(callSite.bits() < codeOrigins.size());
- callSiteIndexFreeList.add(callSite.bits());
+ return index;
}
void CommonData::shrinkToFit()
@@ -97,27 +72,6 @@ bool CommonData::invalidate()
return true;
}
-void CommonData::validateReferences(const TrackedReferences& trackedReferences)
-{
- if (InlineCallFrameSet* set = inlineCallFrames.get()) {
- for (InlineCallFrame* inlineCallFrame : *set) {
- for (ValueRecovery& recovery : inlineCallFrame->arguments) {
- if (recovery.isConstant())
- trackedReferences.check(recovery.constant());
- }
-
- if (CodeBlock* baselineCodeBlock = inlineCallFrame->baselineCodeBlock.get())
- trackedReferences.check(baselineCodeBlock);
-
- if (inlineCallFrame->calleeRecovery.isConstant())
- trackedReferences.check(inlineCallFrame->calleeRecovery.constant());
- }
- }
-
- for (AdaptiveStructureWatchpoint* watchpoint : adaptiveStructureWatchpoints)
- watchpoint->key().validateReferences(trackedReferences);
-}
-
} } // namespace JSC::DFG
#endif // ENABLE(DFG_JIT)