equal
deleted
inserted
replaced
534 } |
534 } |
535 } |
535 } |
536 // Not an address |
536 // Not an address |
537 boolean all = name.equals("-a"); |
537 boolean all = name.equals("-a"); |
538 Threads threads = VM.getVM().getThreads(); |
538 Threads threads = VM.getVM().getThreads(); |
539 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
539 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
540 JavaThread thread = threads.getJavaThreadAt(i); |
540 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
541 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
541 thread.printThreadIDOn(new PrintStream(bos)); |
542 thread.printThreadIDOn(new PrintStream(bos)); |
542 if (all || bos.toString().equals(name)) { |
543 if (all || bos.toString().equals(name)) { |
543 if (thread instanceof CompilerThread) { |
544 if (thread instanceof CompilerThread) { |
544 CompilerThread ct = (CompilerThread)thread; |
545 CompilerThread ct = (CompilerThread)thread; |
896 usage(); |
897 usage(); |
897 } else { |
898 } else { |
898 String name = t.nextToken(); |
899 String name = t.nextToken(); |
899 boolean all = name.equals("-a"); |
900 boolean all = name.equals("-a"); |
900 Threads threads = VM.getVM().getThreads(); |
901 Threads threads = VM.getVM().getThreads(); |
901 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
902 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
903 JavaThread thread = threads.getJavaThreadAt(i); |
902 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
904 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
903 thread.printThreadIDOn(new PrintStream(bos)); |
905 thread.printThreadIDOn(new PrintStream(bos)); |
904 if (all || bos.toString().equals(name)) { |
906 if (all || bos.toString().equals(name)) { |
905 if (thread instanceof CompilerThread) { |
907 if (thread instanceof CompilerThread) { |
906 CompilerThread ct = (CompilerThread)thread; |
908 CompilerThread ct = (CompilerThread)thread; |
925 usage(); |
927 usage(); |
926 } else { |
928 } else { |
927 String name = t.nextToken(); |
929 String name = t.nextToken(); |
928 boolean all = name.equals("-a"); |
930 boolean all = name.equals("-a"); |
929 Threads threads = VM.getVM().getThreads(); |
931 Threads threads = VM.getVM().getThreads(); |
930 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
932 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
933 JavaThread thread = threads.getJavaThreadAt(i); |
931 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
934 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
932 thread.printThreadIDOn(new PrintStream(bos)); |
935 thread.printThreadIDOn(new PrintStream(bos)); |
933 if (all || bos.toString().equals(name)) { |
936 if (all || bos.toString().equals(name)) { |
934 if (thread instanceof CompilerThread) { |
937 if (thread instanceof CompilerThread) { |
935 CompilerThread ct = (CompilerThread)thread; |
938 CompilerThread ct = (CompilerThread)thread; |
952 usage(); |
955 usage(); |
953 } else { |
956 } else { |
954 String name = t.nextToken(); |
957 String name = t.nextToken(); |
955 boolean all = name.equals("-a"); |
958 boolean all = name.equals("-a"); |
956 Threads threads = VM.getVM().getThreads(); |
959 Threads threads = VM.getVM().getThreads(); |
957 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
960 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
961 JavaThread thread = threads.getJavaThreadAt(i); |
958 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
962 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
959 thread.printThreadIDOn(new PrintStream(bos)); |
963 thread.printThreadIDOn(new PrintStream(bos)); |
960 if (all || bos.toString().equals(name)) { |
964 if (all || bos.toString().equals(name)) { |
961 if (thread instanceof CompilerThread) { |
965 if (thread instanceof CompilerThread) { |
962 CompilerThread ct = (CompilerThread)thread; |
966 CompilerThread ct = (CompilerThread)thread; |
1435 String type = t.nextToken(); |
1439 String type = t.nextToken(); |
1436 final Address value = VM.getVM().getDebugger().parseAddress(t.nextToken()); |
1440 final Address value = VM.getVM().getDebugger().parseAddress(t.nextToken()); |
1437 final long stride = VM.getVM().getAddressSize(); |
1441 final long stride = VM.getVM().getAddressSize(); |
1438 if (type.equals("threads")) { |
1442 if (type.equals("threads")) { |
1439 Threads threads = VM.getVM().getThreads(); |
1443 Threads threads = VM.getVM().getThreads(); |
1440 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
1444 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
1445 JavaThread thread = threads.getJavaThreadAt(i); |
1441 Address base = thread.getStackBase(); |
1446 Address base = thread.getStackBase(); |
1442 Address end = thread.getLastJavaSP(); |
1447 Address end = thread.getLastJavaSP(); |
1443 if (end == null) continue; |
1448 if (end == null) continue; |
1444 if (end.lessThan(base)) { |
1449 if (end.lessThan(base)) { |
1445 Address tmp = base; |
1450 Address tmp = base; |
1559 usage(); |
1564 usage(); |
1560 } else { |
1565 } else { |
1561 String name = t.nextToken(); |
1566 String name = t.nextToken(); |
1562 Threads threads = VM.getVM().getThreads(); |
1567 Threads threads = VM.getVM().getThreads(); |
1563 boolean all = name.equals("-a"); |
1568 boolean all = name.equals("-a"); |
1564 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
1569 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
1570 JavaThread thread = threads.getJavaThreadAt(i); |
1565 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
1571 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
1566 thread.printThreadIDOn(new PrintStream(bos)); |
1572 thread.printThreadIDOn(new PrintStream(bos)); |
1567 if (all || bos.toString().equals(name)) { |
1573 if (all || bos.toString().equals(name)) { |
1568 out.println("Thread " + bos.toString() + " Address: " + thread.getAddress()); |
1574 out.println("Thread " + bos.toString() + " Address: " + thread.getAddress()); |
1569 HTMLGenerator gen = new HTMLGenerator(false); |
1575 HTMLGenerator gen = new HTMLGenerator(false); |
1588 usage(); |
1594 usage(); |
1589 } else { |
1595 } else { |
1590 String name = t.nextToken(); |
1596 String name = t.nextToken(); |
1591 Threads threads = VM.getVM().getThreads(); |
1597 Threads threads = VM.getVM().getThreads(); |
1592 boolean all = name.equals("-a"); |
1598 boolean all = name.equals("-a"); |
1593 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
1599 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
1600 JavaThread thread = threads.getJavaThreadAt(i); |
1594 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
1601 ByteArrayOutputStream bos = new ByteArrayOutputStream(); |
1595 thread.printThreadIDOn(new PrintStream(bos)); |
1602 thread.printThreadIDOn(new PrintStream(bos)); |
1596 if (all || bos.toString().equals(name)) { |
1603 if (all || bos.toString().equals(name)) { |
1597 out.println("Thread " + bos.toString() + " Address " + thread.getAddress()); |
1604 out.println("Thread " + bos.toString() + " Address " + thread.getAddress()); |
1598 thread.printInfoOn(out); |
1605 thread.printInfoOn(out); |
1611 public void doit(Tokens t) { |
1618 public void doit(Tokens t) { |
1612 if (t.countTokens() != 0) { |
1619 if (t.countTokens() != 0) { |
1613 usage(); |
1620 usage(); |
1614 } else { |
1621 } else { |
1615 Threads threads = VM.getVM().getThreads(); |
1622 Threads threads = VM.getVM().getThreads(); |
1616 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
1623 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
1624 JavaThread thread = threads.getJavaThreadAt(i); |
1617 thread.printThreadIDOn(out); |
1625 thread.printThreadIDOn(out); |
1618 out.println(" " + thread.getThreadName()); |
1626 out.println(" " + thread.getThreadName()); |
1619 thread.printInfoOn(out); |
1627 thread.printInfoOn(out); |
1620 out.println("\n..."); |
1628 out.println("\n..."); |
1621 } |
1629 } |
1629 usage(); |
1637 usage(); |
1630 } else { |
1638 } else { |
1631 ArrayList nmethods = new ArrayList(); |
1639 ArrayList nmethods = new ArrayList(); |
1632 Threads threads = VM.getVM().getThreads(); |
1640 Threads threads = VM.getVM().getThreads(); |
1633 HTMLGenerator gen = new HTMLGenerator(false); |
1641 HTMLGenerator gen = new HTMLGenerator(false); |
1634 for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) { |
1642 for (int i = 0; i < threads.getNumberOfThreads(); i++) { |
|
1643 JavaThread thread = threads.getJavaThreadAt(i); |
1635 try { |
1644 try { |
1636 for (JavaVFrame vf = thread.getLastJavaVFrameDbg(); vf != null; vf = vf.javaSender()) { |
1645 for (JavaVFrame vf = thread.getLastJavaVFrameDbg(); vf != null; vf = vf.javaSender()) { |
1637 if (vf instanceof CompiledVFrame) { |
1646 if (vf instanceof CompiledVFrame) { |
1638 NMethod c = ((CompiledVFrame)vf).getCode(); |
1647 NMethod c = ((CompiledVFrame)vf).getCode(); |
1639 if (!nmethods.contains(c)) { |
1648 if (!nmethods.contains(c)) { |