Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Valentin Touzeau
lrusecurity
Commits
34bfbcb7
Commit
34bfbcb7
authored
Jul 11, 2019
by
Mishigan
Committed by
Julien Balette-Pape
Jul 15, 2019
Browse files
debug
parent
a0b28ba3
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/Prev/ExistHitPrevDomain.h
View file @
34bfbcb7
...
...
@@ -21,7 +21,7 @@ public:
inline
const
t
&
init
(
void
)
const
{
return
_init
;
}
inline
void
print
(
const
t
&
a
,
otawa
::
io
::
Output
&
out
)
const
{
a
.
print
(
_set
,
_coll
,
out
);
}
inline
elm
::
io
::
Printable
<
t
,
ExistHitPrevDomain
>
print
(
const
t
&
a
)
const
{
return
elm
::
io
::
p
(
a
,
*
this
);
}
inline
bool
contains
(
const
t
&
a
,
int
i
)
{
return
(
a
[
i
]
!=
otawa
::
Bag
<
otawa
::
Address
>
());
}
inline
bool
contains
(
const
t
&
a
,
int
i
)
{
return
(
a
[
i
]
.
empty
());
}
inline
void
copy
(
t
&
d
,
const
t
&
s
)
{
d
.
copy
(
s
);
}
bool
equals
(
const
t
&
a
,
const
t
&
b
)
const
;
void
join
(
t
&
d
,
const
t
&
s
);
...
...
src/Prev/lrusecurity_ExistHitPrevDomain.cpp
View file @
34bfbcb7
...
...
@@ -29,19 +29,11 @@ bool ExistHitPrevDomain::equals(const t& acss, const t& bcss) const
}
void
ExistHitPrevDomain
::
join
(
t
&
dcss
,
const
t
&
scss
)
{
for
(
int
i
=
0
;
i
<
_n
;
i
++
){
int
newsize
=
dcss
[
i
].
size
()
+
scss
[
i
].
size
();
Bag
<
Address
>
newbag
=
Bag
<
Address
>
(
newsize
);
for
(
int
j
=
0
;
j
<
newsize
;
j
++
)
{
if
(
j
<
dcss
[
i
].
size
())
newbag
[
j
]
=
dcss
[
i
][
j
];
else
newbag
[
j
]
=
scss
[
i
][
j
-
dcss
[
i
].
size
()];
}
dcss
[
i
]
=
Bag
<
Address
>
(
newbag
);
for
(
int
i
=
0
;
i
<
_n
;
i
++
){
dcss
[
i
].
insert
(
scss
[
i
].
begin
(),
scss
[
i
].
end
());
}
}
void
ExistHitPrevDomain
::
fetch
(
t
&
acss
,
const
icache
::
Access
&
access
,
lrumc
::
ACSManager
&
ehManager
)
{
...
...
@@ -49,10 +41,11 @@ bool ExistHitPrevDomain::equals(const t& acss, const t& bcss) const
int
b
=
lb
->
index
();
for
(
int
i
=
0
;
i
<
_n
;
i
++
){
if
(
i
==
b
){
Address
smol
[]
=
{
access
.
address
()};
acss
[
i
]
=
Bag
<
Address
>
(
1
,
smol
);}
else
if
(
ehManager
.
existHitAge
(
lb
)
==
_A
)
acss
[
i
]
=
Bag
<
Address
>
();
Address
smol
[]
=
{
access
.
address
()};
acss
[
i
]
=
std
::
set
<
otawa
::
Address
*
,
Ptr_addr_comparator
>
();
acss
[
i
].
insert
(
smol
);
}
else
if
(
mayManager
.
mayAge
(
_coll
[
_set
][
i
])
==
_A
)
acss
[
i
]
=
std
::
set
<
otawa
::
Address
*
,
Ptr_addr_comparator
>
();
}
}
...
...
src/Prev_Over/ExistHitPrevODomain.h
View file @
34bfbcb7
...
...
@@ -21,7 +21,7 @@ public:
inline
const
t
&
init
(
void
)
const
{
return
_init
;
}
inline
void
print
(
const
t
&
a
,
otawa
::
io
::
Output
&
out
)
const
{
a
.
print
(
_set
,
_coll
,
out
);
}
inline
elm
::
io
::
Printable
<
t
,
ExistHitPrevODomain
>
print
(
const
t
&
a
)
const
{
return
elm
::
io
::
p
(
a
,
*
this
);
}
inline
bool
contains
(
const
t
&
a
,
int
i
)
{
return
(
a
[
i
]
!=
otawa
::
Bag
<
otawa
::
Address
>
());
}
inline
bool
contains
(
const
t
&
a
,
int
i
)
{
return
(
!
a
[
i
]
.
empty
());
}
inline
void
copy
(
t
&
d
,
const
t
&
s
)
{
d
.
copy
(
s
);
}
bool
equals
(
const
t
&
a
,
const
t
&
b
)
const
;
void
join
(
t
&
d
,
const
t
&
s
);
...
...
src/Prev_Under/ExistHitPrevUDomain.h
View file @
34bfbcb7
...
...
@@ -23,7 +23,7 @@ public:
inline
void
print
(
const
t
&
a
,
otawa
::
io
::
Output
&
out
)
const
{
a
.
print
(
_set
,
_coll
,
out
);
}
inline
elm
::
io
::
Printable
<
t
,
ExistHitPrevUDomain
>
print
(
const
t
&
a
)
const
{
return
elm
::
io
::
p
(
a
,
*
this
);
}
inline
bool
contains
(
const
t
&
a
,
int
i
)
{
return
(
a
[
i
]
!=
otawa
::
Bag
<
otawa
::
Address
>
());
}
inline
bool
contains
(
const
t
&
a
,
int
i
)
{
return
(
!
a
[
i
]
.
empty
());
}
inline
void
copy
(
t
&
d
,
const
t
&
s
)
{
d
.
copy
(
s
);
}
bool
equals
(
const
t
&
a
,
const
t
&
b
)
const
;
void
join
(
t
&
d
,
const
t
&
s
,
otawa
::
icat3
::
ACS
d_eh
,
otawa
::
icat3
::
ACS
s_eh
);
...
...
src/Prev_Under/lrusecurity_ExistHitPrevUDomain.cpp
View file @
34bfbcb7
...
...
@@ -34,15 +34,7 @@ void ExistHitPrevUDomain::join(t& dcss, const t& scss, icat3::ACS d_eh, icat3::A
if
(
s_eh
[
i
]
<
d_eh
[
i
]
||
(
d_eh
[
i
]
==
-
1
&&
s_eh
[
i
]
!=
-
1
))
{
dcss
[
i
]
=
scss
[
i
];
}
else
if
(
s_eh
[
i
]
==
d_eh
[
i
])
{
int
fullsize
=
(
dcss
[
i
]).
size
()
+
(
scss
[
i
]).
size
();
Bag
<
Address
>
tmp
=
Bag
<
Address
>
(
fullsize
);
for
(
int
j
=
0
;
j
<
fullsize
;
j
++
)
{
if
(
j
<
(
dcss
[
i
]).
size
())
tmp
[
j
]
=
dcss
[
i
][
j
];
else
tmp
[
j
]
=
scss
[
i
][
j
-
dcss
[
i
].
size
()];
}
dcss
[
i
]
=
tmp
;
dcss
[
i
].
insert
(
scss
[
i
].
begin
(),
scss
[
i
].
end
());
}
}
}
...
...
@@ -54,9 +46,10 @@ void ExistHitPrevUDomain::fetch(t& acss, const icache::Access& access, lrupreana
for
(
int
i
=
0
;
i
<
_n
;
i
++
){
if
(
i
==
b
){
Address
smol
[]
=
{
access
.
address
()};
acss
[
i
]
=
Bag
<
Address
>
(
1
,
smol
);
acss
[
i
]
=
std
::
set
<
otawa
::
Address
*
,
Ptr_addr_comparator
>
();
acss
[
i
].
insert
(
smol
);
}
else
if
(
ehManager
.
existHitAge
(
_coll
[
_set
][
i
])
==
_A
)
acss
[
i
]
=
Bag
<
Address
>
();
acss
[
i
]
=
std
::
set
<
otawa
::
Address
*
,
Ptr_addr_comparator
>
();
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment