diff options
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGCommonData.h')
| -rw-r--r-- | Source/JavaScriptCore/dfg/DFGCommonData.h | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGCommonData.h b/Source/JavaScriptCore/dfg/DFGCommonData.h index 2a2d0a2d0..17c5cce11 100644 --- a/Source/JavaScriptCore/dfg/DFGCommonData.h +++ b/Source/JavaScriptCore/dfg/DFGCommonData.h @@ -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 @@ -26,24 +26,23 @@ #ifndef DFGCommonData_h #define DFGCommonData_h +#include <wtf/Platform.h> + #if ENABLE(DFG_JIT) #include "CodeBlockJettisoningWatchpoint.h" -#include "DFGAdaptiveInferredPropertyValueWatchpoint.h" -#include "DFGAdaptiveStructureWatchpoint.h" #include "DFGJumpReplacement.h" #include "InlineCallFrameSet.h" #include "JSCell.h" +#include "ProfiledCodeBlockJettisoningWatchpoint.h" #include "ProfilerCompilation.h" #include "SymbolTable.h" -#include <wtf/Bag.h> #include <wtf/Noncopyable.h> namespace JSC { class CodeBlock; class Identifier; -class TrackedReferences; namespace DFG { @@ -74,12 +73,13 @@ class CommonData { public: CommonData() : isStillValid(true) + , machineCaptureStart(std::numeric_limits<int>::max()) , frameRegisterCount(std::numeric_limits<unsigned>::max()) , requiredRegisterCountForExit(std::numeric_limits<unsigned>::max()) { } void notifyCompilingStructureTransition(Plan&, CodeBlock*, Node*); - unsigned addCodeOrigin(CodeOrigin); + unsigned addCodeOrigin(CodeOrigin codeOrigin); void shrinkToFit(); @@ -89,19 +89,15 @@ public: { return std::max(frameRegisterCount, requiredRegisterCountForExit); } - - void validateReferences(const TrackedReferences&); - RefPtr<InlineCallFrameSet> inlineCallFrames; + OwnPtr<InlineCallFrameSet> inlineCallFrames; Vector<CodeOrigin, 0, UnsafeVectorOverflow> codeOrigins; Vector<Identifier> dfgIdentifiers; Vector<WeakReferenceTransition> transitions; Vector<WriteBarrier<JSCell>> weakReferences; - Vector<WriteBarrier<Structure>> weakStructureReferences; - Bag<CodeBlockJettisoningWatchpoint> watchpoints; - Bag<AdaptiveStructureWatchpoint> adaptiveStructureWatchpoints; - Bag<AdaptiveInferredPropertyValueWatchpoint> adaptiveInferredPropertyValueWatchpoints; + SegmentedVector<CodeBlockJettisoningWatchpoint, 1, 0> watchpoints; + SegmentedVector<ProfiledCodeBlockJettisoningWatchpoint, 1, 0> profiledWatchpoints; Vector<JumpReplacement> jumpReplacements; RefPtr<Profiler::Compilation> compilation; @@ -109,9 +105,8 @@ public: bool allTransitionsHaveBeenMarked; // Initialized and used on every GC. bool isStillValid; -#if USE(JSVALUE32_64) - std::unique_ptr<Bag<double>> doubleConstants; -#endif + int machineCaptureStart; + std::unique_ptr<SlowArgument[]> slowArguments; unsigned frameRegisterCount; unsigned requiredRegisterCountForExit; |
