Lines Matching refs:trace
56 together to form our trace. But we do not allow more than 5 paths; if
60 exit edge from the hot trace is less than 10% of the number of
87 When we finally generate an optimized trace we first copy the code
88 into the trace cache. This leaves us with 3 copies of the code: the
89 original code, the instrumented code, and the optimized trace. The
90 optimized trace does not have instrumentation. The original code and
91 the instrumented code are modified to have a branch to the trace
97 trace cache. Then we instrument that code. The process is similar for
98 generating the final optimized trace; we copy the same basic blocks
105 original code, trace, and instrumented code. So we have to keep the
109 trace cache.
112 overwrite with trace-cache code. The trace manager keeps track of
113 whether or not we have enough space in the trace cache, etc.
115 The trace insertion routine takes an original start address, a vector
116 of machine instructions representing the trace, index of branches and
120 The trace insertion routine is responsible for inserting branches from
122 trace. This is because at some point the trace cache may run out of
123 space and it may have to evict a trace, at which point the branch to
124 the trace would also have to be removed. It uses a round-robin
127 trace in.)
129 We cannot deal with discontiguous trace cache areas. The trace cache
133 trace caches. We keep the instrumented code around because you don't
134 want to delete a trace when you still might have to return to it