aboutsummaryrefslogtreecommitdiffstats
path: root/arm
diff options
context:
space:
mode:
authorxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-03-07 15:52:58 +0000
committerxleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2010-03-07 15:52:58 +0000
commita74f6b45d72834b5b8417297017bd81424123d98 (patch)
treed291cf3f05397658f0fe9d8ecce9b8785a50d270 /arm
parent54cba6d4cae1538887f296a62be1c99378fe0916 (diff)
downloadcompcert-kvx-a74f6b45d72834b5b8417297017bd81424123d98.tar.gz
compcert-kvx-a74f6b45d72834b5b8417297017bd81424123d98.zip
Merge of the newmem and newextcalls branches:
- Revised memory model with concrete representation of ints & floats, and per-byte access permissions - Revised Globalenvs implementation - Matching changes in all languages and proofs. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1282 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'arm')
-rw-r--r--arm/Asm.v14
-rw-r--r--arm/Asmgen.v2
-rw-r--r--arm/Asmgenproof.v2
-rw-r--r--arm/Asmgenproof1.v2
-rw-r--r--arm/Asmgenretaddr.v2
-rw-r--r--arm/ConstpropOpproof.v2
-rw-r--r--arm/Op.v26
-rw-r--r--arm/SelectOp.v2
-rw-r--r--arm/SelectOpproof.v2
9 files changed, 27 insertions, 27 deletions
diff --git a/arm/Asm.v b/arm/Asm.v
index e8503bbd..e689c20c 100644
--- a/arm/Asm.v
+++ b/arm/Asm.v
@@ -18,7 +18,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Events.
Require Import Globalenvs.
Require Import Smallstep.
@@ -233,7 +233,7 @@ Module Pregmap := EMap(PregEq).
and condition bits to either [Vzero] or [Vone]. *)
Definition regset := Pregmap.t val.
-Definition genv := Genv.t fundef.
+Definition genv := Genv.t fundef unit.
Notation "a # b" := (a b) (at level 1, only parsing).
Notation "a # b <- c" := (Pregmap.set b c a) (at level 1, b at next level).
@@ -609,28 +609,28 @@ Inductive step: state -> trace -> state -> Prop :=
exec_instr c i rs m = OK rs' m' ->
step (State rs m) E0 (State rs' m')
| exec_step_external:
- forall b ef args res rs m t rs',
+ forall b ef args res rs m t rs' m',
rs PC = Vptr b Int.zero ->
Genv.find_funct_ptr ge b = Some (External ef) ->
- event_match ef args t res ->
+ external_call ef args m t res m' ->
extcall_arguments rs m ef.(ef_sig) args ->
rs' = (rs#(loc_external_result ef.(ef_sig)) <- res
#PC <- (rs IR14)) ->
- step (State rs m) t (State rs' m).
+ step (State rs m) t (State rs' m').
End RELSEM.
(** Execution of whole programs. *)
Inductive initial_state (p: program): state -> Prop :=
- | initial_state_intro:
+ | initial_state_intro: forall m0,
let ge := Genv.globalenv p in
- let m0 := Genv.init_mem p in
let rs0 :=
(Pregmap.init Vundef)
# PC <- (symbol_offset ge p.(prog_main) Int.zero)
# IR14 <- Vzero
# IR13 <- (Vptr Mem.nullptr Int.zero) in
+ Genv.init_mem p = Some m0 ->
initial_state p (State rs0 m0).
Inductive final_state: state -> int -> Prop :=
diff --git a/arm/Asmgen.v b/arm/Asmgen.v
index 8e0805fe..069a08a2 100644
--- a/arm/Asmgen.v
+++ b/arm/Asmgen.v
@@ -19,7 +19,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Globalenvs.
Require Import Op.
Require Import Locations.
diff --git a/arm/Asmgenproof.v b/arm/Asmgenproof.v
index db84d64b..0260feb2 100644
--- a/arm/Asmgenproof.v
+++ b/arm/Asmgenproof.v
@@ -19,7 +19,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Events.
Require Import Globalenvs.
Require Import Smallstep.
diff --git a/arm/Asmgenproof1.v b/arm/Asmgenproof1.v
index 07764136..fc2ce7fa 100644
--- a/arm/Asmgenproof1.v
+++ b/arm/Asmgenproof1.v
@@ -18,7 +18,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Globalenvs.
Require Import Op.
Require Import Locations.
diff --git a/arm/Asmgenretaddr.v b/arm/Asmgenretaddr.v
index 72d855a9..359aaf27 100644
--- a/arm/Asmgenretaddr.v
+++ b/arm/Asmgenretaddr.v
@@ -22,7 +22,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Globalenvs.
Require Import Op.
Require Import Locations.
diff --git a/arm/ConstpropOpproof.v b/arm/ConstpropOpproof.v
index b718fc26..9778acef 100644
--- a/arm/ConstpropOpproof.v
+++ b/arm/ConstpropOpproof.v
@@ -17,7 +17,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Globalenvs.
Require Import Op.
Require Import Registers.
diff --git a/arm/Op.v b/arm/Op.v
index da9903bd..51ce0024 100644
--- a/arm/Op.v
+++ b/arm/Op.v
@@ -29,7 +29,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Globalenvs.
Set Implicit Arguments.
@@ -217,7 +217,7 @@ Definition offset_sp (sp: val) (delta: int) : option val :=
end.
Definition eval_operation
- (F: Type) (genv: Genv.t F) (sp: val)
+ (F V: Type) (genv: Genv.t F V) (sp: val)
(op: operation) (vl: list val): option val :=
match op, vl with
| Omove, v1::nil => Some v1
@@ -301,7 +301,7 @@ Definition eval_operation
end.
Definition eval_addressing
- (F: Type) (genv: Genv.t F) (sp: val)
+ (F V: Type) (genv: Genv.t F V) (sp: val)
(addr: addressing) (vl: list val) : option val :=
match addr, vl with
| Aindexed n, Vptr b1 n1 :: nil =>
@@ -382,9 +382,9 @@ Qed.
Section GENV_TRANSF.
-Variable F1 F2: Type.
-Variable ge1: Genv.t F1.
-Variable ge2: Genv.t F2.
+Variable F1 F2 V1 V2: Type.
+Variable ge1: Genv.t F1 V1.
+Variable ge2: Genv.t F2 V2.
Hypothesis agree_on_symbols:
forall (s: ident), Genv.find_symbol ge2 s = Genv.find_symbol ge1 s.
@@ -523,8 +523,8 @@ Definition type_of_chunk (c: memory_chunk) : typ :=
Section SOUNDNESS.
-Variable A: Type.
-Variable genv: Genv.t A.
+Variable A V: Type.
+Variable genv: Genv.t A V.
Lemma type_of_operation_sound:
forall op vl sp v,
@@ -584,8 +584,8 @@ End SOUNDNESS.
Section EVAL_OP_TOTAL.
-Variable F: Type.
-Variable genv: Genv.t F.
+Variable F V: Type.
+Variable genv: Genv.t F V.
Definition find_symbol_offset (id: ident) (ofs: int) : val :=
match Genv.find_symbol genv id with
@@ -774,8 +774,8 @@ End EVAL_OP_TOTAL.
Section EVAL_LESSDEF.
-Variable F: Type.
-Variable genv: Genv.t F.
+Variable F V: Type.
+Variable genv: Genv.t F V.
Ltac InvLessdef :=
match goal with
@@ -900,7 +900,7 @@ Definition op_for_binary_addressing (addr: addressing) : operation :=
end.
Lemma eval_op_for_binary_addressing:
- forall (F: Type) (ge: Genv.t F) sp addr args v,
+ forall (F V: Type) (ge: Genv.t F V) sp addr args v,
(length args >= 2)%nat ->
eval_addressing ge sp addr args = Some v ->
eval_operation ge sp (op_for_binary_addressing addr) args = Some v.
diff --git a/arm/SelectOp.v b/arm/SelectOp.v
index abf39aff..66c12999 100644
--- a/arm/SelectOp.v
+++ b/arm/SelectOp.v
@@ -42,7 +42,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Globalenvs.
Require Cminor.
Require Import Op.
diff --git a/arm/SelectOpproof.v b/arm/SelectOpproof.v
index 32aba30c..b2603466 100644
--- a/arm/SelectOpproof.v
+++ b/arm/SelectOpproof.v
@@ -18,7 +18,7 @@ Require Import AST.
Require Import Integers.
Require Import Floats.
Require Import Values.
-Require Import Mem.
+Require Import Memory.
Require Import Events.
Require Import Globalenvs.
Require Import Smallstep.