| 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:
|
|
|