base.cc (3435:0830790f937c) base.cc (3442:e52c3470e7ef)
1/*
2 * Copyright (c) 2002-2005 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;

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

396
397 // decode the instruction
398 inst = gtoh(inst);
399 //If we're not in the middle of a macro instruction
400 if (!curMacroStaticInst) {
401 StaticInstPtr instPtr = StaticInst::decode(makeExtMI(inst, thread->getTC()));
402 if (instPtr->isMacroOp()) {
403 curMacroStaticInst = instPtr;
1/*
2 * Copyright (c) 2002-2005 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;

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

396
397 // decode the instruction
398 inst = gtoh(inst);
399 //If we're not in the middle of a macro instruction
400 if (!curMacroStaticInst) {
401 StaticInstPtr instPtr = StaticInst::decode(makeExtMI(inst, thread->getTC()));
402 if (instPtr->isMacroOp()) {
403 curMacroStaticInst = instPtr;
404 curStaticInst = curMacroStaticInst->fetchMicroOp(0);
404 curStaticInst = curMacroStaticInst->
405 fetchMicroOp(thread->readMicroPC());
405 } else {
406 curStaticInst = instPtr;
407 }
408 } else {
409 //Read the next micro op from the macro op
406 } else {
407 curStaticInst = instPtr;
408 }
409 } else {
410 //Read the next micro op from the macro op
410 curStaticInst = curMacroStaticInst->fetchMicroOp(thread->readMicroPC());
411 curStaticInst = curMacroStaticInst->
412 fetchMicroOp(thread->readMicroPC());
411 }
412
413
414 traceData = Trace::getInstRecord(curTick, tc, curStaticInst,
415 thread->readPC());
416
417 DPRINTF(Decode,"Decode: Decoded %s instruction (opcode: 0x%x): 0x%x\n",
418 curStaticInst->getName(), curStaticInst->getOpcode(),

--- 83 unchanged lines hidden ---
413 }
414
415
416 traceData = Trace::getInstRecord(curTick, tc, curStaticInst,
417 thread->readPC());
418
419 DPRINTF(Decode,"Decode: Decoded %s instruction (opcode: 0x%x): 0x%x\n",
420 curStaticInst->getName(), curStaticInst->getOpcode(),

--- 83 unchanged lines hidden ---