Upgrade V8 to version 4.9.385.28
https://chromium.googlesource.com/v8/v8/+/4.9.385.28
FPIIM-449
Change-Id: I4b2e74289d4bf3667f2f3dc8aa2e541f63e26eb4
diff --git a/src/compiler/register-allocator-verifier.h b/src/compiler/register-allocator-verifier.h
index 4e35dc2..f3ab54f 100644
--- a/src/compiler/register-allocator-verifier.h
+++ b/src/compiler/register-allocator-verifier.h
@@ -5,7 +5,6 @@
#ifndef V8_REGISTER_ALLOCATOR_VERIFIER_H_
#define V8_REGISTER_ALLOCATOR_VERIFIER_H_
-#include "src/v8.h"
#include "src/zone-containers.h"
namespace v8 {
@@ -15,7 +14,7 @@
class InstructionOperand;
class InstructionSequence;
-class RegisterAllocatorVerifier FINAL : public ZoneObject {
+class RegisterAllocatorVerifier final : public ZoneObject {
public:
RegisterAllocatorVerifier(Zone* zone, const RegisterConfiguration* config,
const InstructionSequence* sequence);
@@ -31,15 +30,20 @@
kFixedRegister,
kDoubleRegister,
kFixedDoubleRegister,
+ kSlot,
+ kDoubleSlot,
kFixedSlot,
kNone,
kNoneDouble,
- kSameAsFirst
+ kExplicit,
+ kSameAsFirst,
+ kRegisterAndSlot
};
struct OperandConstraint {
ConstraintType type_;
int value_; // subkind index when relevant
+ int spilled_slot_;
int virtual_register_;
};
@@ -49,10 +53,9 @@
OperandConstraint* operand_constraints_;
};
- class OutgoingMapping;
+ class BlockMaps;
typedef ZoneVector<InstructionConstraint> Constraints;
- typedef ZoneVector<OutgoingMapping*> OutgoingMappings;
Zone* zone() const { return zone_; }
const RegisterConfiguration* config() { return config_; }
@@ -68,8 +71,7 @@
void CheckConstraint(const InstructionOperand* op,
const OperandConstraint* constraint);
- void ConstructOutgoingMappings(OutgoingMappings* outgoing_mappings,
- bool initial_pass);
+ void VerifyGapMoves(BlockMaps* outgoing_mappings, bool initial_pass);
Zone* const zone_;
const RegisterConfiguration* config_;