summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/backend/instruction.h
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2019-11-08 15:39:11 +0100
committerMichaël Zasso <targos@protonmail.com>2019-11-08 15:46:25 +0100
commit6ca81ad72a3c6fdf16c683335be748f22aaa9a0d (patch)
tree33c8ee75f729aed76c2c0b89c63f9bf1b4dd66aa /deps/v8/src/compiler/backend/instruction.h
parent1eee0b8bf8bba39b600fb16a9223e545e3bac2bc (diff)
downloadandroid-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.gz
android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.tar.bz2
android-node-v8-6ca81ad72a3c6fdf16c683335be748f22aaa9a0d.zip
deps: update V8 to 7.9.317.20
PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/src/compiler/backend/instruction.h')
-rw-r--r--deps/v8/src/compiler/backend/instruction.h35
1 files changed, 8 insertions, 27 deletions
diff --git a/deps/v8/src/compiler/backend/instruction.h b/deps/v8/src/compiler/backend/instruction.h
index f5f7f64c51..321f069531 100644
--- a/deps/v8/src/compiler/backend/instruction.h
+++ b/deps/v8/src/compiler/backend/instruction.h
@@ -43,9 +43,8 @@ class V8_EXPORT_PRIVATE InstructionOperand {
CONSTANT,
IMMEDIATE,
// Location operand kinds.
- EXPLICIT,
ALLOCATED,
- FIRST_LOCATION_OPERAND_KIND = EXPLICIT
+ FIRST_LOCATION_OPERAND_KIND = ALLOCATED
// Location operand kinds must be last.
};
@@ -68,11 +67,6 @@ class V8_EXPORT_PRIVATE InstructionOperand {
// embedded directly in instructions, e.g. small integers and on some
// platforms Objects.
INSTRUCTION_OPERAND_PREDICATE(Immediate, IMMEDIATE)
- // ExplicitOperands do not participate in register allocation. They are
- // created by the instruction selector for direct access to registers and
- // stack slots, completely bypassing the register allocator. They are never
- // associated with a virtual register
- INSTRUCTION_OPERAND_PREDICATE(Explicit, EXPLICIT)
// AllocatedOperands are registers or stack slots that are assigned by the
// register allocator and are always associated with a virtual register.
INSTRUCTION_OPERAND_PREDICATE(Allocated, ALLOCATED)
@@ -515,19 +509,6 @@ class LocationOperand : public InstructionOperand {
using IndexField = BitField64<int32_t, 35, 29>;
};
-class V8_EXPORT_PRIVATE ExplicitOperand
- : public NON_EXPORTED_BASE(LocationOperand) {
- public:
- ExplicitOperand(LocationKind kind, MachineRepresentation rep, int index);
-
- static ExplicitOperand* New(Zone* zone, LocationKind kind,
- MachineRepresentation rep, int index) {
- return InstructionOperand::New(zone, ExplicitOperand(kind, rep, index));
- }
-
- INSTRUCTION_OPERAND_CASTS(ExplicitOperand, EXPLICIT)
-};
-
class AllocatedOperand : public LocationOperand {
public:
AllocatedOperand(LocationKind kind, MachineRepresentation rep, int index)
@@ -643,7 +624,7 @@ uint64_t InstructionOperand::GetCanonicalizedValue() const {
}
return InstructionOperand::KindField::update(
LocationOperand::RepresentationField::update(this->value_, canonical),
- LocationOperand::EXPLICIT);
+ LocationOperand::ALLOCATED);
}
return this->value_;
}
@@ -776,11 +757,11 @@ class V8_EXPORT_PRIVATE Instruction final {
public:
size_t OutputCount() const { return OutputCountField::decode(bit_field_); }
const InstructionOperand* OutputAt(size_t i) const {
- DCHECK(i < OutputCount());
+ DCHECK_LT(i, OutputCount());
return &operands_[i];
}
InstructionOperand* OutputAt(size_t i) {
- DCHECK(i < OutputCount());
+ DCHECK_LT(i, OutputCount());
return &operands_[i];
}
@@ -790,21 +771,21 @@ class V8_EXPORT_PRIVATE Instruction final {
size_t InputCount() const { return InputCountField::decode(bit_field_); }
const InstructionOperand* InputAt(size_t i) const {
- DCHECK(i < InputCount());
+ DCHECK_LT(i, InputCount());
return &operands_[OutputCount() + i];
}
InstructionOperand* InputAt(size_t i) {
- DCHECK(i < InputCount());
+ DCHECK_LT(i, InputCount());
return &operands_[OutputCount() + i];
}
size_t TempCount() const { return TempCountField::decode(bit_field_); }
const InstructionOperand* TempAt(size_t i) const {
- DCHECK(i < TempCount());
+ DCHECK_LT(i, TempCount());
return &operands_[OutputCount() + InputCount() + i];
}
InstructionOperand* TempAt(size_t i) {
- DCHECK(i < TempCount());
+ DCHECK_LT(i, TempCount());
return &operands_[OutputCount() + InputCount() + i];
}