#include "src/compiler/late-escape-analysis.h"
#include <optional>
#include "src/compiler/js-graph.h"
#include "src/compiler/node-properties.h"
namespace v8 {
namespace internal {
namespace compiler {
LateEscapeAnalysis::LateEscapeAnalysis(Editor* editor, Graph* graph,
CommonOperatorBuilder* common,
Zone* zone)
: … { … }
namespace {
bool IsStore(Edge edge) { … }
bool IsEscapingAllocationWitness(Edge edge) { … }
}
Reduction LateEscapeAnalysis::Reduce(Node* node) { … }
void LateEscapeAnalysis::Finalize() { … }
namespace {
std::optional<Node*> TryGetStoredValue(Node* node) { … }
}
bool LateEscapeAnalysis::IsEscaping(Node* node) { … }
void LateEscapeAnalysis::RemoveAllocation(Node* node) { … }
void LateEscapeAnalysis::RecordEscapingAllocation(Node* allocation) { … }
void LateEscapeAnalysis::RemoveWitness(Node* allocation) { … }
}
}
}