CallEntry[] tmp = new CallEntry[cSP + 64];
System.arraycopy(callStack, 0, tmp, 0, cSP);
callStack = tmp;
}
if (callStack[cSP] == null) {
callStack[cSP] = new CallEntry();
}
int hide = 0;
PrintStream logger = this.logger;
if (logger != null) {
/* hide this if last call was to be hidden */
hide = (cSP == 0 || newIRQ) ? 0 : callStack[cSP - 1].hide;
/* increase level of "hide" if last was hidden */
if (hide > 0) hide++;
if ((!hideIRQ || servicedInterrupt == -1) && hide == 0) {
if (servicedInterrupt >= 0) logger.printf("[%2d] ", servicedInterrupt);
printSpace(logger, (cSP - interruptLevel) * 2);
logger.println("Call to $" + Utils.hex(entry.getAddress(), 4) +
": " + entry.getInfo());
if (ignoreFunctions.get(entry.getName()) != null) {
hide = 1;
}
}
}
CallEntry ce = callStack[cSP++];
ce.function = entry;
ce.calls = 0;
ce.cycles = cycles;
ce.exclusiveCycles = cycles;
ce.hide = hide;