summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/instruction-codes.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/instruction-codes.h')
-rw-r--r--deps/v8/src/compiler/instruction-codes.h100
1 files changed, 54 insertions, 46 deletions
diff --git a/deps/v8/src/compiler/instruction-codes.h b/deps/v8/src/compiler/instruction-codes.h
index df3078d739..035833af0f 100644
--- a/deps/v8/src/compiler/instruction-codes.h
+++ b/deps/v8/src/compiler/instruction-codes.h
@@ -69,49 +69,49 @@ enum class RecordWriteMode { kValueIsMap, kValueIsPointer, kValueIsAny };
V(ArchTruncateDoubleToI) \
V(ArchStoreWithWriteBarrier) \
V(ArchStackSlot) \
- V(AtomicLoadInt8) \
- V(AtomicLoadUint8) \
- V(AtomicLoadInt16) \
- V(AtomicLoadUint16) \
- V(AtomicLoadWord32) \
- V(AtomicStoreWord8) \
- V(AtomicStoreWord16) \
- V(AtomicStoreWord32) \
- V(AtomicExchangeInt8) \
- V(AtomicExchangeUint8) \
- V(AtomicExchangeInt16) \
- V(AtomicExchangeUint16) \
- V(AtomicExchangeWord32) \
- V(AtomicCompareExchangeInt8) \
- V(AtomicCompareExchangeUint8) \
- V(AtomicCompareExchangeInt16) \
- V(AtomicCompareExchangeUint16) \
- V(AtomicCompareExchangeWord32) \
- V(AtomicAddInt8) \
- V(AtomicAddUint8) \
- V(AtomicAddInt16) \
- V(AtomicAddUint16) \
- V(AtomicAddWord32) \
- V(AtomicSubInt8) \
- V(AtomicSubUint8) \
- V(AtomicSubInt16) \
- V(AtomicSubUint16) \
- V(AtomicSubWord32) \
- V(AtomicAndInt8) \
- V(AtomicAndUint8) \
- V(AtomicAndInt16) \
- V(AtomicAndUint16) \
- V(AtomicAndWord32) \
- V(AtomicOrInt8) \
- V(AtomicOrUint8) \
- V(AtomicOrInt16) \
- V(AtomicOrUint16) \
- V(AtomicOrWord32) \
- V(AtomicXorInt8) \
- V(AtomicXorUint8) \
- V(AtomicXorInt16) \
- V(AtomicXorUint16) \
- V(AtomicXorWord32) \
+ V(Word32AtomicLoadInt8) \
+ V(Word32AtomicLoadUint8) \
+ V(Word32AtomicLoadInt16) \
+ V(Word32AtomicLoadUint16) \
+ V(Word32AtomicLoadWord32) \
+ V(Word32AtomicStoreWord8) \
+ V(Word32AtomicStoreWord16) \
+ V(Word32AtomicStoreWord32) \
+ V(Word32AtomicExchangeInt8) \
+ V(Word32AtomicExchangeUint8) \
+ V(Word32AtomicExchangeInt16) \
+ V(Word32AtomicExchangeUint16) \
+ V(Word32AtomicExchangeWord32) \
+ V(Word32AtomicCompareExchangeInt8) \
+ V(Word32AtomicCompareExchangeUint8) \
+ V(Word32AtomicCompareExchangeInt16) \
+ V(Word32AtomicCompareExchangeUint16) \
+ V(Word32AtomicCompareExchangeWord32) \
+ V(Word32AtomicAddInt8) \
+ V(Word32AtomicAddUint8) \
+ V(Word32AtomicAddInt16) \
+ V(Word32AtomicAddUint16) \
+ V(Word32AtomicAddWord32) \
+ V(Word32AtomicSubInt8) \
+ V(Word32AtomicSubUint8) \
+ V(Word32AtomicSubInt16) \
+ V(Word32AtomicSubUint16) \
+ V(Word32AtomicSubWord32) \
+ V(Word32AtomicAndInt8) \
+ V(Word32AtomicAndUint8) \
+ V(Word32AtomicAndInt16) \
+ V(Word32AtomicAndUint16) \
+ V(Word32AtomicAndWord32) \
+ V(Word32AtomicOrInt8) \
+ V(Word32AtomicOrUint8) \
+ V(Word32AtomicOrInt16) \
+ V(Word32AtomicOrUint16) \
+ V(Word32AtomicOrWord32) \
+ V(Word32AtomicXorInt8) \
+ V(Word32AtomicXorUint8) \
+ V(Word32AtomicXorInt16) \
+ V(Word32AtomicXorUint16) \
+ V(Word32AtomicXorWord32) \
V(Ieee754Float64Acos) \
V(Ieee754Float64Acosh) \
V(Ieee754Float64Asin) \
@@ -174,9 +174,11 @@ V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
enum FlagsMode {
kFlags_none = 0,
kFlags_branch = 1,
- kFlags_deoptimize = 2,
- kFlags_set = 3,
- kFlags_trap = 4
+ kFlags_branch_and_poison = 2,
+ kFlags_deoptimize = 3,
+ kFlags_deoptimize_and_poison = 4,
+ kFlags_set = 5,
+ kFlags_trap = 6
};
V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
@@ -219,6 +221,12 @@ FlagsCondition CommuteFlagsCondition(FlagsCondition condition);
V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
const FlagsCondition& fc);
+enum MemoryAccessMode {
+ kMemoryAccessDirect = 0,
+ kMemoryAccessProtected = 1,
+ kMemoryAccessPoisoned = 2
+};
+
// The InstructionCode is an opaque, target-specific integer that encodes
// what code to emit for an instruction in the code generator. It is not
// interesting to the register allocator, as the inputs and flags on the