summaryrefslogtreecommitdiff
path: root/deps/v8/src/deoptimizer/deoptimizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/deoptimizer/deoptimizer.h')
-rw-r--r--deps/v8/src/deoptimizer/deoptimizer.h26
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.