diff options
Diffstat (limited to 'deps/v8/src/deoptimizer/deoptimizer.h')
-rw-r--r-- | deps/v8/src/deoptimizer/deoptimizer.h | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/deps/v8/src/deoptimizer/deoptimizer.h b/deps/v8/src/deoptimizer/deoptimizer.h index 67e3e54405..a2471247ef 100644 --- a/deps/v8/src/deoptimizer/deoptimizer.h +++ b/deps/v8/src/deoptimizer/deoptimizer.h @@ -16,7 +16,6 @@ #include "src/deoptimizer/deoptimize-reason.h" #include "src/diagnostics/code-tracer.h" #include "src/execution/frame-constants.h" -#include "src/execution/frames.h" #include "src/execution/isolate.h" #include "src/objects/feedback-vector.h" #include "src/objects/shared-function-info.h" @@ -28,8 +27,10 @@ namespace v8 { namespace internal { class FrameDescription; +class JavaScriptFrame; class TranslationIterator; class DeoptimizedFrameInfo; +class TranslatedFrame; class TranslatedState; class RegisterValues; class MacroAssembler; @@ -340,6 +341,7 @@ class TranslatedState { int CreateNextTranslatedValue(int frame_index, TranslationIterator* iterator, FixedArray literal_array, Address fp, RegisterValues* registers, FILE* trace_file); + Address DecompressIfNeeded(intptr_t value); Address ComputeArgumentsPosition(Address input_frame_pointer, CreateArgumentsType type, int* length); void CreateArgumentsElementsTranslatedValues(int frame_index, @@ -499,6 +501,13 @@ class Deoptimizer : public Malloced { static const int kMaxNumberOfEntries = 16384; + enum class BuiltinContinuationMode { + STUB, + JAVASCRIPT, + JAVASCRIPT_WITH_CATCH, + JAVASCRIPT_HANDLE_EXCEPTION + }; + private: friend class FrameWriter; void QueueValueForMaterialization(Address output_address, Object obj, @@ -521,16 +530,8 @@ class Deoptimizer : public Malloced { void DoComputeConstructStubFrame(TranslatedFrame* translated_frame, int frame_index); - enum class BuiltinContinuationMode { - STUB, - JAVASCRIPT, - JAVASCRIPT_WITH_CATCH, - JAVASCRIPT_HANDLE_EXCEPTION - }; static bool BuiltinContinuationModeIsWithCatch(BuiltinContinuationMode mode); static bool BuiltinContinuationModeIsJavaScript(BuiltinContinuationMode mode); - static StackFrame::Type BuiltinContinuationModeToFrameType( - BuiltinContinuationMode mode); static Builtins::Name TrampolineForBuiltinContinuation( BuiltinContinuationMode mode, bool must_handle_result); @@ -549,11 +550,8 @@ class Deoptimizer : public Malloced { Isolate* isolate, DeoptimizeKind kind); - // Marks all the code in the given context for deoptimization. - static void MarkAllCodeForContext(Context native_context); - - // Deoptimizes all code marked in the given context. - static void DeoptimizeMarkedCodeForContext(Context native_context); + static void MarkAllCodeForContext(NativeContext native_context); + static void DeoptimizeMarkedCodeForContext(NativeContext native_context); // Some architectures need to push padding together with the TOS register // in order to maintain stack alignment. |