base.cc (4515:a21985804844) | base.cc (4518:8380fb0a275a) |
---|---|
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; --- 366 unchanged lines hidden (view full) --- 375 if (!curMacroStaticInst) { 376 377 StaticInstPtr instPtr = NULL; 378 379 //Predecode, ie bundle up an ExtMachInst 380 //This should go away once the constructor can be set up properly 381 predecoder.setTC(thread->getTC()); 382 //If more fetch data is needed, pass it in. | 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; --- 366 unchanged lines hidden (view full) --- 375 if (!curMacroStaticInst) { 376 377 StaticInstPtr instPtr = NULL; 378 379 //Predecode, ie bundle up an ExtMachInst 380 //This should go away once the constructor can be set up properly 381 predecoder.setTC(thread->getTC()); 382 //If more fetch data is needed, pass it in. |
383 const Addr PCMask = ~((Addr)sizeof(MachInst) - 1); | |
384 if(predecoder.needMoreBytes()) | 383 if(predecoder.needMoreBytes()) |
385 predecoder.moreBytes((thread->readPC() & PCMask) + fetchOffset, 386 0, inst); | 384 predecoder.moreBytes(thread->readPC() + fetchOffset, 0, inst); |
387 else 388 predecoder.process(); 389 390 //If an instruction is ready, decode it. Otherwise, we'll have to 391 //fetch beyond the MachInst at the current pc. 392 if (predecoder.extMachInstReady()) { 393#if THE_ISA == X86_ISA 394 thread->setNextPC(thread->readPC() + predecoder.getInstSize()); --- 119 unchanged lines hidden --- | 385 else 386 predecoder.process(); 387 388 //If an instruction is ready, decode it. Otherwise, we'll have to 389 //fetch beyond the MachInst at the current pc. 390 if (predecoder.extMachInstReady()) { 391#if THE_ISA == X86_ISA 392 thread->setNextPC(thread->readPC() + predecoder.getInstSize()); --- 119 unchanged lines hidden --- |