Index: src/trusted/validator_arm/actual_classes.h |
diff --git a/src/trusted/validator_arm/actual_classes.h b/src/trusted/validator_arm/actual_classes.h |
index f2e202d1e51354ec7b66ac8cd5b02f7ca78d1946..2cfb107d9ad0fc73cfa87ef410e997dd42ab313d 100644 |
--- a/src/trusted/validator_arm/actual_classes.h |
+++ b/src/trusted/validator_arm/actual_classes.h |
@@ -718,27 +718,27 @@ class EffectiveNoOp : public OldClassDecoder { |
NACL_DISALLOW_COPY_AND_ASSIGN(EffectiveNoOp); |
}; |
-// Models all instructions that reliably trap, preventing execution from falling |
-// through to the next instruction. Note that roadblocks currently have no |
-// special role in the SFI model, so Breakpoints are distinguished below. |
-class Roadblock : public OldClassDecoder { |
+// UDF |
+// Permanently undefined in the ARM ISA. |
+class PermanentlyUndefined : public OldClassDecoder { |
public: |
- Roadblock() {} |
+ PermanentlyUndefined() {} |
virtual SafetyLevel safety(Instruction i) const; |
virtual RegisterList defs(Instruction i) const; |
private: |
- NACL_DISALLOW_COPY_AND_ASSIGN(Roadblock); |
+ NACL_DISALLOW_COPY_AND_ASSIGN(PermanentlyUndefined); |
}; |
// BKPT |
// We model this mostly so we can use it to recognize literal pools -- untrusted |
// code isn't expected to use it, but it's not unsafe, and there are cases where |
// we may generate it. |
-class Breakpoint : public Roadblock { |
+class Breakpoint : public OldClassDecoder { |
public: |
Breakpoint() {} |
virtual SafetyLevel safety(Instruction i) const; |
+ virtual RegisterList defs(Instruction i) const; |
virtual bool is_literal_pool_head(Instruction i) const; |
private: |