summaryrefslogtreecommitdiff
path: root/deps/v8/src/deoptimizer.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/deoptimizer.h')
-rw-r--r--deps/v8/src/deoptimizer.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/deps/v8/src/deoptimizer.h b/deps/v8/src/deoptimizer.h
index d981a86253..0c5254e773 100644
--- a/deps/v8/src/deoptimizer.h
+++ b/deps/v8/src/deoptimizer.h
@@ -53,6 +53,7 @@ class TranslatedValue {
kInvalid,
kTagged,
kInt32,
+ kInt64,
kUInt32,
kBoolBit,
kFloat,
@@ -88,6 +89,7 @@ class TranslatedValue {
static TranslatedValue NewFloat(TranslatedState* container, Float32 value);
static TranslatedValue NewDouble(TranslatedState* container, Float64 value);
static TranslatedValue NewInt32(TranslatedState* container, int32_t value);
+ static TranslatedValue NewInt64(TranslatedState* container, int64_t value);
static TranslatedValue NewUInt32(TranslatedState* container, uint32_t value);
static TranslatedValue NewBool(TranslatedState* container, uint32_t value);
static TranslatedValue NewTagged(TranslatedState* container, Object* literal);
@@ -128,6 +130,8 @@ class TranslatedValue {
uint32_t uint32_value_;
// kind is kInt32.
int32_t int32_value_;
+ // kind is kInt64.
+ int64_t int64_value_;
// kind is kFloat
Float32 float_value_;
// kind is kDouble
@@ -139,6 +143,7 @@ class TranslatedValue {
// Checked accessors for the union members.
Object* raw_literal() const;
int32_t int32_value() const;
+ int64_t int64_value() const;
uint32_t uint32_value() const;
Float32 float_value() const;
Float64 double_value() const;
@@ -284,7 +289,7 @@ class TranslatedFrame {
class TranslatedState {
public:
- TranslatedState() {}
+ TranslatedState() = default;
explicit TranslatedState(const JavaScriptFrame* frame);
void Prepare(Address stack_frame_pointer);
@@ -368,6 +373,7 @@ class TranslatedState {
Handle<Object> GetValueAndAdvance(TranslatedFrame* frame, int* value_index);
static uint32_t GetUInt32Slot(Address fp, int slot_index);
+ static uint64_t GetUInt64Slot(Address fp, int slot_index);
static Float32 GetFloatSlot(Address fp, int slot_index);
static Float64 GetDoubleSlot(Address fp, int slot_index);
@@ -386,10 +392,9 @@ class TranslatedState {
FeedbackSlot feedback_slot_;
};
-
-class OptimizedFunctionVisitor BASE_EMBEDDED {
+class OptimizedFunctionVisitor {
public:
- virtual ~OptimizedFunctionVisitor() {}
+ virtual ~OptimizedFunctionVisitor() = default;
virtual void VisitFunction(JSFunction* function) = 0;
};
@@ -501,7 +506,7 @@ class Deoptimizer : public Malloced {
static const int kNotDeoptimizationEntry = -1;
// Generators for the deoptimization entry code.
- class TableEntryGenerator BASE_EMBEDDED {
+ class TableEntryGenerator {
public:
TableEntryGenerator(MacroAssembler* masm, DeoptimizeKind kind, int count)
: masm_(masm), deopt_kind_(kind), count_(count) {}
@@ -864,8 +869,7 @@ class DeoptimizerData {
DISALLOW_COPY_AND_ASSIGN(DeoptimizerData);
};
-
-class TranslationBuffer BASE_EMBEDDED {
+class TranslationBuffer {
public:
explicit TranslationBuffer(Zone* zone) : contents_(zone) {}
@@ -878,8 +882,7 @@ class TranslationBuffer BASE_EMBEDDED {
ZoneChunkList<uint8_t> contents_;
};
-
-class TranslationIterator BASE_EMBEDDED {
+class TranslationIterator {
public:
TranslationIterator(ByteArray* buffer, int index);
@@ -910,12 +913,14 @@ class TranslationIterator BASE_EMBEDDED {
V(CAPTURED_OBJECT) \
V(REGISTER) \
V(INT32_REGISTER) \
+ V(INT64_REGISTER) \
V(UINT32_REGISTER) \
V(BOOL_REGISTER) \
V(FLOAT_REGISTER) \
V(DOUBLE_REGISTER) \
V(STACK_SLOT) \
V(INT32_STACK_SLOT) \
+ V(INT64_STACK_SLOT) \
V(UINT32_STACK_SLOT) \
V(BOOL_STACK_SLOT) \
V(FLOAT_STACK_SLOT) \
@@ -923,7 +928,7 @@ class TranslationIterator BASE_EMBEDDED {
V(LITERAL) \
V(UPDATE_FEEDBACK)
-class Translation BASE_EMBEDDED {
+class Translation {
public:
#define DECLARE_TRANSLATION_OPCODE_ENUM(item) item,
enum Opcode {
@@ -963,12 +968,14 @@ class Translation BASE_EMBEDDED {
void DuplicateObject(int object_index);
void StoreRegister(Register reg);
void StoreInt32Register(Register reg);
+ void StoreInt64Register(Register reg);
void StoreUint32Register(Register reg);
void StoreBoolRegister(Register reg);
void StoreFloatRegister(FloatRegister reg);
void StoreDoubleRegister(DoubleRegister reg);
void StoreStackSlot(int index);
void StoreInt32StackSlot(int index);
+ void StoreInt64StackSlot(int index);
void StoreUint32StackSlot(int index);
void StoreBoolStackSlot(int index);
void StoreFloatStackSlot(int index);