nativetrace.cc (8902:75b524b64c28) nativetrace.cc (11321:02e930db812d)
1/*
2 * Copyright (c) 2007-2009 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 91 unchanged lines hidden (view full) ---

100{
101 checkRcx = true;
102 checkR11 = true;
103}
104
105bool
106X86NativeTrace::checkRcxReg(const char * name, uint64_t &mVal, uint64_t &nVal)
107{
1/*
2 * Copyright (c) 2007-2009 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 91 unchanged lines hidden (view full) ---

100{
101 checkRcx = true;
102 checkR11 = true;
103}
104
105bool
106X86NativeTrace::checkRcxReg(const char * name, uint64_t &mVal, uint64_t &nVal)
107{
108 if(!checkRcx)
108 if (!checkRcx)
109 checkRcx = (mVal != oldRcxVal || nVal != oldRealRcxVal);
109 checkRcx = (mVal != oldRcxVal || nVal != oldRealRcxVal);
110 if(checkRcx)
110 if (checkRcx)
111 return checkReg(name, mVal, nVal);
112 return true;
113}
114
115bool
116X86NativeTrace::checkR11Reg(const char * name, uint64_t &mVal, uint64_t &nVal)
117{
111 return checkReg(name, mVal, nVal);
112 return true;
113}
114
115bool
116X86NativeTrace::checkR11Reg(const char * name, uint64_t &mVal, uint64_t &nVal)
117{
118 if(!checkR11)
118 if (!checkR11)
119 checkR11 = (mVal != oldR11Val || nVal != oldRealR11Val);
119 checkR11 = (mVal != oldR11Val || nVal != oldRealR11Val);
120 if(checkR11)
120 if (checkR11)
121 return checkReg(name, mVal, nVal);
122 return true;
123}
124
125bool
126X86NativeTrace::checkXMM(int num, uint64_t mXmmBuf[], uint64_t nXmmBuf[])
127{
128 if (mXmmBuf[num * 2] != nXmmBuf[num * 2] ||

--- 8 unchanged lines hidden (view full) ---

137}
138
139void
140X86NativeTrace::check(NativeTraceRecord *record)
141{
142 nState.update(this);
143 mState.update(record->getThread());
144
121 return checkReg(name, mVal, nVal);
122 return true;
123}
124
125bool
126X86NativeTrace::checkXMM(int num, uint64_t mXmmBuf[], uint64_t nXmmBuf[])
127{
128 if (mXmmBuf[num * 2] != nXmmBuf[num * 2] ||

--- 8 unchanged lines hidden (view full) ---

137}
138
139void
140X86NativeTrace::check(NativeTraceRecord *record)
141{
142 nState.update(this);
143 mState.update(record->getThread());
144
145 if(record->getStaticInst()->isSyscall())
145 if (record->getStaticInst()->isSyscall())
146 {
147 checkRcx = false;
148 checkR11 = false;
149 oldRcxVal = mState.rcx;
150 oldRealRcxVal = nState.rcx;
151 oldR11Val = mState.r11;
152 oldRealR11Val = nState.r11;
153 }

--- 47 unchanged lines hidden ---
146 {
147 checkRcx = false;
148 checkR11 = false;
149 oldRcxVal = mState.rcx;
150 oldRealRcxVal = nState.rcx;
151 oldR11Val = mState.r11;
152 oldRealR11Val = nState.r11;
153 }

--- 47 unchanged lines hidden ---