static_inst.hh (3901:64319816e403) | static_inst.hh (3940:b87f85bb4275) |
---|---|
1/* 2 * Copyright (c) 2003-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; --- 365 unchanged lines hidden (view full) --- 374 * Return the target address for a PC-relative branch. 375 * Invalid if not a PC-relative branch (i.e. isDirectCtrl() 376 * should be true). 377 */ 378 virtual Addr branchTarget(Addr branchPC) const 379 { 380 panic("StaticInst::branchTarget() called on instruction " 381 "that is not a PC-relative branch."); | 1/* 2 * Copyright (c) 2003-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; --- 365 unchanged lines hidden (view full) --- 374 * Return the target address for a PC-relative branch. 375 * Invalid if not a PC-relative branch (i.e. isDirectCtrl() 376 * should be true). 377 */ 378 virtual Addr branchTarget(Addr branchPC) const 379 { 380 panic("StaticInst::branchTarget() called on instruction " 381 "that is not a PC-relative branch."); |
382 M5_DUMMY_RETURN |
|
382 } 383 384 /** 385 * Return the target address for an indirect branch (jump). The 386 * register value is read from the supplied thread context, so 387 * the result is valid only if the thread context is about to 388 * execute the branch in question. Invalid if not an indirect 389 * branch (i.e. isIndirectCtrl() should be true). 390 */ 391 virtual Addr branchTarget(ThreadContext *tc) const 392 { 393 panic("StaticInst::branchTarget() called on instruction " 394 "that is not an indirect branch."); 395 } | 383 } 384 385 /** 386 * Return the target address for an indirect branch (jump). The 387 * register value is read from the supplied thread context, so 388 * the result is valid only if the thread context is about to 389 * execute the branch in question. Invalid if not an indirect 390 * branch (i.e. isIndirectCtrl() should be true). 391 */ 392 virtual Addr branchTarget(ThreadContext *tc) const 393 { 394 panic("StaticInst::branchTarget() called on instruction " 395 "that is not an indirect branch."); 396 } |
397 M5_DUMMY_RETURN |
|
396 397 /** 398 * Return true if the instruction is a control transfer, and if so, 399 * return the target address as well. 400 */ 401 bool hasBranchTarget(Addr pc, ThreadContext *tc, Addr &tgt) const; 402 403 /** --- 109 unchanged lines hidden --- | 398 399 /** 400 * Return true if the instruction is a control transfer, and if so, 401 * return the target address as well. 402 */ 403 bool hasBranchTarget(Addr pc, ThreadContext *tc, Addr &tgt) const; 404 405 /** --- 109 unchanged lines hidden --- |