simulate.cc (10101:39d9d14d084f) | simulate.cc (10153:936a3a8006f6) |
---|---|
1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * Copyright (c) 2013 Mark D. Hill and David A. Wood 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are --- 184 unchanged lines hidden (view full) --- 193 "event scheduled in the past"); 194 195 Event *exit_event = eventq->serviceOne(); 196 if (exit_event != NULL) { 197 return exit_event; 198 } 199 200 if (async_event && testAndClearAsyncEvent()) { | 1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * Copyright (c) 2013 Mark D. Hill and David A. Wood 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are --- 184 unchanged lines hidden (view full) --- 193 "event scheduled in the past"); 194 195 Event *exit_event = eventq->serviceOne(); 196 if (exit_event != NULL) { 197 return exit_event; 198 } 199 200 if (async_event && testAndClearAsyncEvent()) { |
201 // Take the event queue lock in case any of the service 202 // routines want to schedule new events. 203 std::lock_guard<EventQueue> lock(*eventq); |
|
201 async_event = false; 202 if (async_statdump || async_statreset) { 203 Stats::schedStatEvent(async_statdump, async_statreset); 204 async_statdump = false; 205 async_statreset = false; 206 } 207 208 if (async_exit) { --- 18 unchanged lines hidden --- | 204 async_event = false; 205 if (async_statdump || async_statreset) { 206 Stats::schedStatEvent(async_statdump, async_statreset); 207 async_statdump = false; 208 async_statreset = false; 209 } 210 211 if (async_exit) { --- 18 unchanged lines hidden --- |