Lines Matching refs:address

121         /** {@code >= 0;} address */
122 private final int address;
136 * @param address {@code >= 0;} address
141 public Entry(int address, Disposition disposition, RegisterSpec spec) {
142 if (address < 0) {
143 throw new IllegalArgumentException("address < 0");
160 this.address = address;
168 return Integer.toHexString(address) + " " + disposition + " " +
182 * Compares by (in priority order) address, end then start
190 if (address < other.address) {
192 } else if (address > other.address) {
207 * Gets the address.
209 * @return {@code >= 0;} the address
212 return address;
315 return new Entry(address, disposition, spec);
473 /** {@code >= 0;} last address seen */
488 * Checks the address and other vitals as a prerequisite to
491 * @param address {@code >= 0;} address about to be processed
494 private void aboutToProcess(int address, int reg) {
497 if ((address == lastAddress) && !first) {
501 if (address < lastAddress) {
529 * Sets the local state at the given address to the given snapshot.
533 * @param address {@code >= 0;} the address
536 public void snapshot(int address, RegisterSpecSet specs) {
538 System.err.printf("%04x snapshot %s\n", address, specs);
542 aboutToProcess(address, sz - 1);
550 startLocal(address, newSpec);
553 endLocal(address, oldSpec);
555 endLocal(address, oldSpec);
556 startLocal(address, newSpec);
561 System.err.printf("%04x snapshot done\n", address);
566 * Starts a local at the given address.
568 * @param address {@code >= 0;} the address
572 public void startLocal(int address, RegisterSpec startedLocal) {
574 System.err.printf("%04x start %s\n", address, startedLocal);
580 aboutToProcess(address, regNum);
595 addOrUpdateEnd(address, Disposition.END_MOVED, movedLocal);
605 add(address, Disposition.END_REPLACED, existingLocal);
609 * same address. If found, then update it or delete
614 if (endEntry.getAddress() == address) {
618 * variable at the same address. This turns
634 * same address. Update it to indicate that
658 addOrUpdateEnd(address,
672 addOrUpdateEnd(address,
684 add(address, Disposition.START, startedLocal);
688 * Ends a local at the given address, using the disposition
691 * @param address {@code >= 0;} the address
695 public void endLocal(int address, RegisterSpec endedLocal) {
696 endLocal(address, endedLocal, Disposition.END_SIMPLY);
700 * Ends a local at the given address.
702 * @param address {@code >= 0;} the address
707 public void endLocal(int address, RegisterSpec endedLocal,
710 System.err.printf("%04x end %s\n", address, endedLocal);
716 aboutToProcess(address, regNum);
728 // Check for start and end at the same address.
729 if (checkForEmptyRange(address, endedLocal)) {
733 add(address, disposition, endedLocal);
738 * and end local is issued at the same address as a start local
745 * @param address {@code >= 0;} the address
751 private boolean checkForEmptyRange(int address,
756 // Look for a previous entry at the same address.
764 if (entry.getAddress() != address) {
765 // We didn't find any match at the same address.
776 * same address, so do all the requisite cleanup.
805 if (entry.getAddress() == address) {
807 * It's still the same address, so update the
845 * @param address {@code >= 0;} the address
849 private void add(int address, Disposition disposition,
853 result.add(new Entry(address, disposition, spec));
869 * @param address {@code >= 0;} the address
873 private void addOrUpdateEnd(int address, Disposition disposition,
885 if ((endEntry.getAddress() == address) &&
888 * The end is for the right address and variable, so
897 endLocal(address, spec, disposition);
918 * ends and starts for a given address could come in any