/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2013, 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
#include "DFGJumpReplacement.h"
#include "InlineCallFrameSet.h"
#include "JSCell.h"
-#include "ProfiledCodeBlockJettisoningWatchpoint.h"
#include "ProfilerCompilation.h"
#include "SymbolTable.h"
#include <wtf/Bag.h>
class CodeBlock;
class Identifier;
+class TrackedReferences;
namespace DFG {
public:
CommonData()
: isStillValid(true)
- , machineCaptureStart(std::numeric_limits<int>::max())
, frameRegisterCount(std::numeric_limits<unsigned>::max())
, requiredRegisterCountForExit(std::numeric_limits<unsigned>::max())
{ }
{
return std::max(frameRegisterCount, requiredRegisterCountForExit);
}
+
+ void validateReferences(const TrackedReferences&);
RefPtr<InlineCallFrameSet> inlineCallFrames;
Vector<CodeOrigin, 0, UnsafeVectorOverflow> codeOrigins;
Vector<Identifier> dfgIdentifiers;
Vector<WeakReferenceTransition> transitions;
Vector<WriteBarrier<JSCell>> weakReferences;
- SegmentedVector<CodeBlockJettisoningWatchpoint, 1, 0> watchpoints;
- SegmentedVector<ProfiledCodeBlockJettisoningWatchpoint, 1, 0> profiledWatchpoints;
+ Vector<WriteBarrier<Structure>> weakStructureReferences;
+ SegmentedVector<CodeBlockJettisoningWatchpoint, 1> watchpoints;
Vector<JumpReplacement> jumpReplacements;
RefPtr<Profiler::Compilation> compilation;
bool allTransitionsHaveBeenMarked; // Initialized and used on every GC.
bool isStillValid;
- int machineCaptureStart;
- std::unique_ptr<SlowArgument[]> slowArguments;
-
#if USE(JSVALUE32_64)
std::unique_ptr<Bag<double>> doubleConstants;
#endif