************************************* log file *****************************************************************
---- AspectJ Properties ---
AspectJ Compiler 1.6.3 built on Tuesday Dec 23, 2008 at 17:12:30 GMT
---- Dump Properties ---
Dump file: ajcore.20090328.133623.913.txt
Dump reason: abort
Dump on exception: true
Dump at exit condition: abort
---- System Properties ---
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/i386
java.vm.version=11.2-b01
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url="" href="http://java.sun.com/" target="_blank">http://java.sun.com/
path.separator=:
java.vm.name=Java HotSpot(TM) Server VM
file.encoding.pkg=
sun.iosun.java.launcher=SUN_STANDARD
user.country=US
sun.os.patch.level=unknown
java.vm.specification.name=Java Virtual Machine Specification
user.dir=/home/suman/exercise/steve_rnr/ytrace/ytrace
java.runtime.version=1.6.0_12-b04
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.endorsed.dirs=/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/endorsed
os.arch=i386
java.io.tmpdir=/tmp
line.separator=
java.vm.specification.vendor=Sun Microsystems Inc.
os.name=Linux
sun.jnu.encoding=ANSI_X3.4-1968
java.library.path=/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/i386/server:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/../lib/i386:/u/suman/installs/lib:/usr/java/packages/lib/i386:/lib:/usr/lib
java.specification.name=Java Platform API Specification
java.class.version=50.0
sun.management.compiler=HotSpot Tiered Compilers
os.version=2.6.26-1-686
user.home=/home/suman
user.timezone=America/New_York
java.awt.printerjob=sun.print.PSPrinterJob
file.encoding=ANSI_X3.4-1968
java.specification.version=1.6
java.class.path=/home/suman/installs/aspectj1.6/lib/aspectjtools.jar:/usr/lib/jvm/java-6-sun/lib/tools.jar:/u/suman/installs/aspectj1.6/lib/:/u/suman/installs/lib/java/:.
user.name=suman
java.vm.specification.version=1.0
java.home=/usr/lib/jvm/java-6-sun-1.6.0.12/jre
sun.arch.data.model=32
user.language=en
java.specification.vendor=Sun Microsystems Inc.
java.vm.info=mixed mode
java.version=1.6.0_12
java.ext.dirs=/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/ext:/usr/java/packages/lib/ext
sun.boot.class.path=/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/resources.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/rt.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/jsse.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/jce.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/charsets.jar:/usr/lib/jvm/java-6-sun-1.6.0.12/jre/classes
java.vendor=Sun Microsystems Inc.
file.separator=/
java.vendor.url.bug=
http://java.sun.com/cgi-bin/bugreport.cgisun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.cpu.isalist=
---- Command Line ---
-Xmx4096m
-1.6
-classpath
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/javasrc/edu/brown/cs/cs032/crawler/ytrace//analysis/build/aspects:/home/suman/exercise/steve_rnr/ytrace/ytrace/bin:/u/suman/installs/libs/java/jyaml-1.3.jar:/u/suman/installs/libs/java/log4j-1.2.15.jar:/u/suman/installs/aspectj1.6//lib/aspectjrt.jar:/home/suman/exercise/steve_rnr/ytrace/ytrace/bin:/u/suman/installs/libs/java/bcel-5.2.jar:/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/lib/Tidy.jar:.
-aspectpath
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/javasrc/edu/brown/cs/cs032/crawler/ytrace//analysis/build/aspects
-inpath
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/java/
-d
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/javasrc/edu/brown/cs/cs032/crawler/ytrace//analysis/build/shared_bins
---- Full Classpath ---
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/resources.jar(1140700 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/rt.jar(51106468 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/sunrsasign.jar(missing)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/jsse.jar(618621 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/jce.jar(88256 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/charsets.jar(6737599 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/classes(missing)
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/java(1 entries)
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/javasrc/edu/brown/cs/cs032/crawler/ytrace/analysis/build/aspects(3 entries)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/ext/localedata.jar(841140 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/ext/sunjce_provider.jar(170239 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/ext/sunpkcs11.jar(226069 bytes)
/usr/lib/jvm/java-6-sun-1.6.0.12/jre/lib/ext/dnsns.jar(8239 bytes)
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/javasrc/edu/brown/cs/cs032/crawler/ytrace/analysis/build/aspects(3 entries)
/home/suman/exercise/steve_rnr/ytrace/ytrace/bin(1 entries)
/home/suman/installs/libs/java/jyaml-1.3.jar(59324 bytes)
/home/suman/installs/libs/java/log4j-1.2.15.jar(391834 bytes)
/home/suman/installs/aspectj1.6/lib/aspectjrt.jar(115346 bytes)
/home/suman/exercise/steve_rnr/ytrace/ytrace/bin(1 entries)
/home/suman/installs/libs/java/bcel-5.2.jar(533339 bytes)
/home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/lib/Tidy.jar(138902 bytes)
/home/suman/exercise/steve_rnr/ytrace/ytrace(10 entries)
---- Compiler Messages ---
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:76::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:77::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:78::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:79::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:80::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:81::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:82::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:83::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:84::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:85::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:86::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:87::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:88::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:89::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:90::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:91::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:92::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:93::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:94::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:95::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:96::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:97::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:98::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:99::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:100::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:101::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:102::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:103::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:104::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlTidyParser.java:105::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlParser.java:165::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/crawl/CrawlParser.java:169::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/url/UrlHandle.java:84::0
warning at /SharedBinsAspect.aj:216::0 does not match because declaring type is java.util.Set, if match desired use target(java.util.HashSet) [Xlint:unmatchedSuperTypeInCall]
see also: edu/brown/cs/cs032/crawler/url/UrlHandle.java:85::0
abort trouble in:
public class edu.brown.cs.cs032.crawler.crawl.CrawlMain extends java.lang.Object implements edu.brown.cs.cs032.crawler.crawl.CrawlConstants:
private int num_threads
private String url_file
private boolean do_test
private boolean do_create
private int start_at
private int url_count
private int active_count
private int page_total
private int pages_queued
private String base_directory
private Object work_sema
private Object urls_sema
private Object future_sema
private java.util.Set work_queue [Signature(Ljava/util/Set<Ledu/brown/cs/cs032/crawler/CrawlerUrl;>;)]
private java.util.Set urls_done [Signature(Ljava/util/Set<Ljava/lang/String;>;)]
private java.util.Set future_urls [Signature(Ljava/util/Set<Ljava/lang/String;>;)]
private java.util.Collection thread_set [Signature(Ljava/util/Collection<Ledu/brown/cs/cs032/crawler/crawl/CrawlThread;>;)]
private edu.brown.cs.cs032.crawler.CrawlerUrlManager url_manager
public static void main(String[]):
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.main(java.lang.String[]))
| NEW edu.brown.cs.cs032.crawler.crawl.CrawlMain (line 58)
| DUP
| ALOAD_0 // [Ljava/lang/String; args
| INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.<init> ([Ljava/lang/String;)V
| ASTORE_1
| ALOAD_1 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; cm (line 60)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.process())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.process ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.process())
| ICONST_0 (line 62)
| method-call(void java.lang.System.exit(int))
| | INVOKESTATIC java.lang.System.exit (I)V
| method-call(void java.lang.System.exit(int))
| RETURN (line 63)
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.main(java.lang.String[]))
end public static void main(String[])
private void <init>(String[]):
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 99)
INVOKESPECIAL java.lang.Object.<init> ()V
constructor-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.<init>(java.lang.String[]))
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 100)
| ICONST_2
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 101)
| LDC "/u/spr/crawler/data/urllist"
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file Ljava/lang/String;
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 102)
| ICONST_1
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test Z
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 103)
| ICONST_0
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create Z
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 104)
| ICONST_0
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 105)
| SIPUSH 128
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 106)
| ICONST_0
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 107)
| SIPUSH 10000
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 108)
| ICONST_0
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 110)
| NEW java.lang.Object
| DUP
| INVOKESPECIAL java.lang.Object.<init> ()V
| field-set(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
| field-set(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 111)
| NEW java.util.LinkedHashSet
| DUP
| INVOKESPECIAL java.util.LinkedHashSet.<init> ()V
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 112)
| NEW java.util.HashSet
| DUP
| INVOKESPECIAL java.util.HashSet.<init> ()V
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 113)
| NEW java.lang.Object
| DUP
| INVOKESPECIAL java.lang.Object.<init> ()V
| field-set(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_sema)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_sema Ljava/lang/Object;
| field-set(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_sema)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 114)
| NEW java.util.HashSet
| DUP
| INVOKESPECIAL java.util.HashSet.<init> ()V
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_done)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_done Ljava/util/Set;
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_done)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 115)
| NEW java.lang.Object
| DUP
| INVOKESPECIAL java.lang.Object.<init> ()V
| field-set(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_sema)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_sema Ljava/lang/Object;
| field-set(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_sema)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 116)
| NEW java.util.HashSet
| DUP
| INVOKESPECIAL java.util.HashSet.<init> ()V
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls Ljava/util/Set;
| field-set(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 117)
| NEW java.util.ArrayList
| DUP
| INVOKESPECIAL java.util.ArrayList.<init> ()V
| field-set(java.util.Collection edu.brown.cs.cs032.crawler.crawl.CrawlMain.thread_set)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.thread_set Ljava/util/Collection;
| field-set(java.util.Collection edu.brown.cs.cs032.crawler.crawl.CrawlMain.thread_set)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 118)
| ACONST_NULL
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory Ljava/lang/String;
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 120)
| ALOAD_1 // [Ljava/lang/String; args
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.scanArgs(java.lang.String[]))
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.scanArgs ([Ljava/lang/String;)V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.scanArgs(java.lang.String[]))
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 122)
| method-call(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.CrawlerFactory.createUrlManager())
| | INVOKESTATIC edu.brown.cs.cs032.crawler.CrawlerFactory.createUrlManager ()Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| method-call(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.CrawlerFactory.createUrlManager())
| field-set(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| field-set(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 123)
| field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| field-get(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test Z
| field-get(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test)
| method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.setDoTesting(boolean))
| | INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.setDoTesting (Z)V
| method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.setDoTesting(boolean))
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 124)
| field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory Ljava/lang/String;
| field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| IFNULL L0
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 125)
| field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory Ljava/lang/String;
| field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.setBaseDirectory(java.lang.String))
| | INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.setBaseDirectory (Ljava/lang/String;)V
| method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.setBaseDirectory(java.lang.String))
| L0: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 127)
| field-get(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create Z
| field-get(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| IFEQ L1
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 128)
| field-get(java.io.PrintStream java.lang.System.err)
| LDC "CRAWL: Clearing Repository"
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| catch java.io.IOException -> E0
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 130)
| | field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| | field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.clearRepository())
| | | INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.clearRepository ()V
| | method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.clearRepository())
| catch java.io.IOException -> E0
| GOTO L1 (line 134)
| E0: ASTORE_2 (line 131)
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 132)
| field-get(java.io.PrintStream java.lang.System.err)
| NEW java.lang.StringBuilder
| DUP
| INVOKESPECIAL java.lang.StringBuilder.<init> ()V
| LDC "Problem clearing repository: "
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| ALOAD_2 // Ljava/io/IOException; e
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.Object))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.Object))
| method-call(java.lang.String java.lang.StringBuilder.toString())
| | INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
| method-call(java.lang.String java.lang.StringBuilder.toString())
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| ICONST_1 (line 133)
| method-call(void java.lang.System.exit(int))
| | INVOKESTATIC java.lang.System.exit (I)V
| method-call(void java.lang.System.exit(int))
| L1: RETURN (line 136)
constructor-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.<init>(java.lang.String[]))
end private void <init>(String[])
private void scanArgs(String[]):
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.scanArgs(java.lang.String[]))
| ICONST_0 (line 145)
| ISTORE_2
| L0: ILOAD_2 // I i
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L10
| ALOAD_1 // [Ljava/lang/String; args (line 146)
| ILOAD_2 // I i
| AALOAD
| LDC "-t"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L1
| ILOAD_2 // I i
| ICONST_1
| IADD
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L1
| catch java.lang.NumberFormatException -> E0
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 149)
| | ALOAD_1 // [Ljava/lang/String; args
| | IINC_2 1 // I i
| | ILOAD_2 // I i
| | AALOAD
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | | INVOKESTATIC java.lang.Integer.parseInt (Ljava/lang/String;)I
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads)
| | | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads I
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads)
| catch java.lang.NumberFormatException -> E0
| GOTO L9 (line 152)
| E0: ASTORE_3 (line 150)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 151)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| GOTO L9 (line 152)
| L1: ALOAD_1 // [Ljava/lang/String; args (line 153)
| ILOAD_2 // I i
| AALOAD
| LDC "-u"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L2
| ILOAD_2 // I i
| ICONST_1
| IADD
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L2
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 155)
| ALOAD_1 // [Ljava/lang/String; args
| IINC_2 1 // I i
| ILOAD_2 // I i
| AALOAD
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file Ljava/lang/String;
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| GOTO L9
| L2: ALOAD_1 // [Ljava/lang/String; args (line 156)
| ILOAD_2 // I i
| AALOAD
| LDC "-s"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L3
| ILOAD_2 // I i
| ICONST_1
| IADD
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L3
| catch java.lang.NumberFormatException -> E1
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 160)
| | ALOAD_1 // [Ljava/lang/String; args
| | IINC_2 1 // I i
| | ILOAD_2 // I i
| | AALOAD
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | | INVOKESTATIC java.lang.Integer.parseInt (Ljava/lang/String;)I
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at)
| | | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at I
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at)
| catch java.lang.NumberFormatException -> E1
| GOTO L9 (line 163)
| E1: ASTORE_3 (line 161)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 162)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| GOTO L9 (line 163)
| L3: ALOAD_1 // [Ljava/lang/String; args (line 164)
| ILOAD_2 // I i
| AALOAD
| LDC "-p"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L4
| ILOAD_2 // I i
| ICONST_1
| IADD
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L4
| catch java.lang.NumberFormatException -> E2
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 167)
| | ALOAD_1 // [Ljava/lang/String; args
| | IINC_2 1 // I i
| | ILOAD_2 // I i
| | AALOAD
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | | INVOKESTATIC java.lang.Integer.parseInt (Ljava/lang/String;)I
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count)
| | | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count I
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count)
| catch java.lang.NumberFormatException -> E2
| GOTO L9 (line 170)
| E2: ASTORE_3 (line 168)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 169)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| GOTO L9 (line 170)
| L4: ALOAD_1 // [Ljava/lang/String; args (line 171)
| ILOAD_2 // I i
| AALOAD
| LDC "-n"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L5
| ILOAD_2 // I i
| ICONST_1
| IADD
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L5
| catch java.lang.NumberFormatException -> E3
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 174)
| | ALOAD_1 // [Ljava/lang/String; args
| | IINC_2 1 // I i
| | ILOAD_2 // I i
| | AALOAD
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | | INVOKESTATIC java.lang.Integer.parseInt (Ljava/lang/String;)I
| | method-call(int java.lang.Integer.parseInt(java.lang.String))
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total)
| | | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total)
| catch java.lang.NumberFormatException -> E3
| GOTO L9 (line 177)
| E3: ASTORE_3 (line 175)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 176)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| GOTO L9 (line 177)
| L5: ALOAD_1 // [Ljava/lang/String; args (line 178)
| ILOAD_2 // I i
| AALOAD
| LDC "-c"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L6
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 179)
| ICONST_1
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create Z
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| GOTO L9
| L6: ALOAD_1 // [Ljava/lang/String; args (line 180)
| ILOAD_2 // I i
| AALOAD
| LDC "-r"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L7
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 181)
| ICONST_0
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test Z
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_test)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 182)
| ICONST_0
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create Z
| field-set(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.do_create)
| GOTO L9
| L7: ALOAD_1 // [Ljava/lang/String; args (line 183)
| ILOAD_2 // I i
| AALOAD
| LDC "-d"
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| | INVOKEVIRTUAL java.lang.String.startsWith (Ljava/lang/String;)Z
| method-call(boolean java.lang.String.startsWith(java.lang.String))
| IFEQ L8
| ILOAD_2 // I i
| ICONST_1
| IADD
| ALOAD_1 // [Ljava/lang/String; args
| ARRAYLENGTH
| IF_ICMPGE L8
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 185)
| ALOAD_1 // [Ljava/lang/String; args
| IINC_2 1 // I i
| ILOAD_2 // I i
| AALOAD
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory Ljava/lang/String;
| field-set(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.base_directory)
| GOTO L9
| L8: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 187)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| L9: IINC_2 1 // I i (line 145)
| GOTO L0
| L10: RETURN (line 189)
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.scanArgs(java.lang.String[]))
end private void scanArgs(String[])
private void badArgs():
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 192)
| field-get(java.io.PrintStream java.lang.System.err)
| LDC "CRAWL: crawl [-t #threads] [-u urlfile] [-run] [-s start#] [-n #pages]"
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 194)
| field-get(java.io.PrintStream java.lang.System.err)
| LDC " [-p #urls to process] [-create]"
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| ICONST_0 (line 195)
| method-call(void java.lang.System.exit(int))
| | INVOKESTATIC java.lang.System.exit (I)V
| method-call(void java.lang.System.exit(int))
| RETURN (line 196)
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.badArgs())
end private void badArgs()
private void process():
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.process())
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 205)
| ICONST_1
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 207)
| field-get(java.io.PrintStream java.lang.System.err)
| NEW java.lang.StringBuilder
| DUP
| INVOKESPECIAL java.lang.StringBuilder.<init> ()V
| LDC "CRAWL: Start processing at "
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| NEW java.util.Date
| DUP
| INVOKESPECIAL java.util.Date.<init> ()V
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.Object))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.Object))
| method-call(java.lang.String java.lang.StringBuilder.toString())
| | INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
| method-call(java.lang.String java.lang.StringBuilder.toString())
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 209)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.startThreads())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.startThreads ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.startThreads())
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 210)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.loadUrls())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.loadUrls ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.loadUrls())
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 212)
| field-get(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
| field-get(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema)
| DUP
| ASTORE_1
| MONITORENTER
| finally -> E1
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 213)
| | DUP
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | ICONST_1
| | ISUB
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | | PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| | field-set(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 214)
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count)
| | IFNE L0
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 215)
| | field-get(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
| | field-get(java.lang.Object edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema)
| | method-call(void java.lang.Object.notifyAll())
| | | INVOKEVIRTUAL java.lang.Object.notifyAll ()V
| | method-call(void java.lang.Object.notifyAll())
| | L0: ALOAD_1 (line 216)
| | MONITOREXIT
| finally -> E1
| GOTO L1
| finally -> E1
| | E1: ASTORE_2
| | ALOAD_1
| | MONITOREXIT
| finally -> E1
| ALOAD_2
| ATHROW
| L1: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 218)
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.waitForDone())
| | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.waitForDone ()V
| method-call(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.waitForDone())
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 220)
| field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file Ljava/lang/String;
| field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| field-get(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls Ljava/util/Set;
| field-get(java.util.Set edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls)
| method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.addFutureUrls(java.lang.String, java.util.Collection))
| | INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.addFutureUrls (Ljava/lang/String;Ljava/util/Collection;)V
| method-call(void edu.brown.cs.cs032.crawler.CrawlerUrlManager.addFutureUrls(java.lang.String, java.util.Collection))
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 222)
| field-get(java.io.PrintStream java.lang.System.err)
| NEW java.lang.StringBuilder
| DUP
| INVOKESPECIAL java.lang.StringBuilder.<init> ()V
| LDC "CRAWL: Done processing at "
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| NEW java.util.Date
| DUP
| INVOKESPECIAL java.util.Date.<init> ()V
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.Object))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.Object))
| method-call(java.lang.String java.lang.StringBuilder.toString())
| | INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
| method-call(java.lang.String java.lang.StringBuilder.toString())
| method-call(void java.io.PrintStream.println(java.lang.String))
| | INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| method-call(void java.io.PrintStream.println(java.lang.String))
| RETURN (line 223)
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.process())
end private void process()
private void loadUrls():
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.loadUrls())
| catch java.io.IOException -> E1
| | NEW java.io.LineNumberReader (line 233)
| | DUP
| | NEW java.io.FileReader
| | DUP
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| | field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file Ljava/lang/String;
| | field-get(java.lang.String edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_file)
| | INVOKESPECIAL java.io.FileReader.<init> (Ljava/lang/String;)V
| | INVOKESPECIAL java.io.LineNumberReader.<init> (Ljava/io/Reader;)V
| | ASTORE_1
| | ICONST_0 (line 236)
| | ISTORE_2
| | L0: ILOAD_2 // I i
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at I
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.start_at)
| | IF_ICMPGE L2
| | ALOAD_1 // Ljava/io/LineNumberReader; lnr (line 237)
| | method-call(java.lang.String java.io.LineNumberReader.readLine())
| | | INVOKEVIRTUAL java.io.LineNumberReader.readLine ()Ljava/lang/String;
| | method-call(java.lang.String java.io.LineNumberReader.readLine())
| | ASTORE_3
| | ALOAD_3 // Ljava/lang/String; ln (line 238)
| | IFNONNULL L1
| catch java.io.IOException -> E1
| RETURN (line 239)
| catch java.io.IOException -> E1
| | L1: IINC_2 1 // I i (line 236)
| | GOTO L0
| | L2: ICONST_0 (line 241)
| | ISTORE_2
| | L3: ILOAD_2 // I i
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count I
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_count)
| | IF_ICMPGE L6
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued I
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued)
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
| | field-get(int edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total)
| | IF_ICMPGT L6
| | ALOAD_1 // Ljava/io/LineNumberReader; lnr (line 242)
| | method-call(java.lang.String java.io.LineNumberReader.readLine())
| | | INVOKEVIRTUAL java.io.LineNumberReader.readLine ()Ljava/lang/String;
| | method-call(java.lang.String java.io.LineNumberReader.readLine())
| | ASTORE_3
| | ALOAD_3 // Ljava/lang/String; ln (line 243)
| | IFNONNULL L4
| | GOTO L6 (line 244)
| | L4: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 245)
| | field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
| | field-get(edu.brown.cs.cs032.crawler.CrawlerUrlManager edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager)
| | ALOAD_3 // Ljava/lang/String; ln
| | ACONST_NULL
| | method-call(edu.brown.cs.cs032.crawler.CrawlerUrl edu.brown.cs.cs032.crawler.CrawlerUrlManager.normalizeNewUrl(java.lang.String, edu.brown.cs.cs032.crawler.CrawlerUrl))
| | | INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.normalizeNewUrl (Ljava/lang/String;Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Ledu/brown/cs/cs032/crawler/CrawlerUrl;
| | method-call(edu.brown.cs.cs032.crawler.CrawlerUrl edu.brown.cs.cs032.crawler.CrawlerUrlManager.normalizeNewUrl(java.lang.String, edu.brown.cs.cs032.crawler.CrawlerUrl))
| | ASTORE 4
| | ALOAD 4 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url (line 246)
| | IFNULL L5
| | ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| | ALOAD 4 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url
| | method-call(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.addUrlCandidate(edu.brown.cs.cs032.crawler.CrawlerUrl))
| | | INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.addUrlCandidate (Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Z
| | method-call(boolean edu.brown.cs.cs032.crawler.crawl.CrawlMain.addUrlCandidate(edu.brown.cs.cs032.crawler.CrawlerUrl))
| | IFEQ L5
| | IINC_2 1 // I i (line 247)
| | L5: GOTO L3 (line 248)
| | L6: ALOAD_1 // Ljava/io/LineNumberReader; lnr (line 249)
| | method-call(void java.io.LineNumberReader.close())
| | | INVOKEVIRTUAL java.io.LineNumberReader.close ()V
| | method-call(void java.io.LineNumberReader.close())
| catch java.io.IOException -> E1
| GOTO L7 (line 253)
| E1: ASTORE_1 (line 250)
| field-get(java.io.PrintStream java.lang.System.err)
| | GETSTATIC java.lang.System.err Ljava/io/PrintStream; (line 251)
| field-get(java.io.PrintStream java.lang.System.err)
| NEW java.lang.StringBuilder
| DUP
| INVOKESPECIAL java.lang.StringBuilder.<init> ()V
| LDC "CRAWL: Problem reading url file: "
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| | INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
| method-call(java.lang.StringBuilder java.lang.StringBuilder.append(java.lang.String))
| ALOAD_1 // Ljava/io/IOException; e
| INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
| INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
| INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
| ICONST_1 (line 252)
| INVOKESTATIC java.lang.System.exit (I)V
| L7: RETURN (line 254)
method-execution(void edu.brown.cs.cs032.crawler.crawl.CrawlMain.loadUrls())
end private void loadUrls()
void addRedirectUrl(edu.brown.cs.cs032.crawler.CrawlerUrl, String):
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 257)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
ALOAD_2 // Ljava/lang/String; nm
ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; base
INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.normalizeNewUrl (Ljava/lang/String;Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Ledu/brown/cs/cs032/crawler/CrawlerUrl;
ASTORE_3
ALOAD_3 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url (line 259)
IFNULL L0
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 260)
ALOAD_3 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url
INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.addUrlCandidate (Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Z
POP
L0: RETURN (line 261)
end void addRedirectUrl(edu.brown.cs.cs032.crawler.CrawlerUrl, String)
edu.brown.cs.cs032.crawler.CrawlerUrl addUrlCandidate(edu.brown.cs.cs032.crawler.CrawlerUrl, String):
ALOAD_2 // Ljava/lang/String; nm (line 264)
IFNONNULL L0
ACONST_NULL (line 265)
ARETURN
L0: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 267)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
ALOAD_2 // Ljava/lang/String; nm
ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; base
INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.normalizeNewUrl (Ljava/lang/String;Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Ledu/brown/cs/cs032/crawler/CrawlerUrl;
ASTORE_3
ALOAD_3 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url (line 269)
IFNULL L1
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued I
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
IF_ICMPLE L2
L1: ALOAD_3 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url (line 270)
ARETURN
L2: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 272)
ALOAD_3 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url
INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlMain.addUrlCandidate (Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Z
POP
ACONST_NULL (line 274)
ARETURN
end edu.brown.cs.cs032.crawler.CrawlerUrl addUrlCandidate(edu.brown.cs.cs032.crawler.CrawlerUrl, String)
private boolean addUrlCandidate(edu.brown.cs.cs032.crawler.CrawlerUrl):
ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url (line 278)
IFNONNULL L0
ICONST_0 (line 279)
IRETURN
L0: ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url (line 281)
INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrl.getNormalizedName ()Ljava/lang/String;
ASTORE_2
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 283)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_sema Ljava/lang/Object;
DUP
ASTORE_3
MONITORENTER
finally -> E2
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 284)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_done Ljava/util/Set;
| ALOAD_2 // Ljava/lang/String; surl
| INVOKEINTERFACE java.util.Set.contains (Ljava/lang/Object;)Z
| IFEQ L1
| ICONST_0 (line 285)
| ALOAD_3
| MONITOREXIT
finally -> E2
IRETURN
finally -> E2
| L1: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 286)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.urls_done Ljava/util/Set;
| ALOAD_2 // Ljava/lang/String; surl
| INVOKEINTERFACE java.util.Set.add (Ljava/lang/Object;)Z
| POP
| ALOAD_3 (line 287)
| MONITOREXIT
finally -> E2
GOTO L2
finally -> E2
| E2: ASTORE 4
| ALOAD_3
| MONITOREXIT
finally -> E2
ALOAD 4
ATHROW
L2: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 289)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
DUP
ASTORE_3
MONITORENTER
finally -> E5
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 290)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url
| INVOKEINTERFACE java.util.Set.contains (Ljava/lang/Object;)Z
| IFEQ L3
| ICONST_0 (line 291)
| ALOAD_3
| MONITOREXIT
finally -> E5
IRETURN
finally -> E5
| L3: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 292)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued I
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
| IF_ICMPGT L4
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 293)
| DUP
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued I
| ICONST_1
| IADD
| PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.pages_queued I
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 294)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; url
| INVOKEINTERFACE java.util.Set.add (Ljava/lang/Object;)Z
| POP
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 295)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
| INVOKEVIRTUAL java.lang.Object.notify ()V
| L4: ALOAD_3 (line 297)
| MONITOREXIT
finally -> E5
GOTO L5
finally -> E5
| E5: ASTORE 5
| ALOAD_3
| MONITOREXIT
finally -> E5
ALOAD 5
ATHROW
L5: ICONST_1 (line 299)
IRETURN
end private boolean addUrlCandidate(edu.brown.cs.cs032.crawler.CrawlerUrl)
edu.brown.cs.cs032.crawler.CrawlerUrl getNextUrl():
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 303)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
DUP
ASTORE_1
MONITORENTER
finally -> E1
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 304)
| DUP
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ICONST_1
| ISUB
| PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ALOAD_1 (line 305)
| MONITOREXIT
finally -> E1
GOTO L0
finally -> E1
| E1: ASTORE_2
| ALOAD_1
| MONITOREXIT
finally -> E1
ALOAD_2
ATHROW
L0: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 310)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
DUP
ASTORE_2
MONITORENTER
finally -> E5
| L1: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 311)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| INVOKEINTERFACE java.util.Set.isEmpty ()Z
| IFEQ L3
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 312)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| IFNE L2
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 313)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
| INVOKEVIRTUAL java.lang.Object.notifyAll ()V
| ACONST_NULL (line 314)
| ALOAD_2
| MONITOREXIT
finally -> E5
ARETURN
finally -> E5
| catch java.lang.InterruptedException -> E2
| | L2: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 317)
| | GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
| | INVOKEVIRTUAL java.lang.Object.wait ()V
| catch java.lang.InterruptedException -> E2
| GOTO L1 (line 319)
| E2: ASTORE_3 (line 318)
| GOTO L1 (line 319)
| L3: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 322)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| INVOKEINTERFACE java.util.Set.iterator ()Ljava/util/Iterator;
| ASTORE_3
| ALOAD_3 // Ljava/util/Iterator; it (line 323)
| INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
| CHECKCAST edu.brown.cs.cs032.crawler.CrawlerUrl
| ASTORE_1
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 324)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_queue Ljava/util/Set;
| ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; u
| INVOKEINTERFACE java.util.Set.remove (Ljava/lang/Object;)Z
| POP
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 325)
| DUP
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ICONST_1
| IADD
| PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ALOAD_2 (line 326)
| MONITOREXIT
finally -> E5
GOTO L4
finally -> E5
| E5: ASTORE 4
| ALOAD_2
| MONITOREXIT
finally -> E5
ALOAD 4
ATHROW
L4: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 328)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.url_manager Ledu/brown/cs/cs032/crawler/CrawlerUrlManager;
ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; u
INVOKEINTERFACE edu.brown.cs.cs032.crawler.CrawlerUrlManager.beginProcessing (Ledu/brown/cs/cs032/crawler/CrawlerUrl;)Z
IFEQ L5
ALOAD_1 // Ledu/brown/cs/cs032/crawler/CrawlerUrl; u (line 329)
ARETURN
L5: ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 331)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
DUP
ASTORE_2
MONITORENTER
finally -> E7
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 332)
| DUP
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
| ICONST_1
| IADD
| PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.page_total I
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 333)
| DUP
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ICONST_1
| ISUB
| PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ALOAD_2 (line 334)
| MONITOREXIT
finally -> E7
GOTO L6
finally -> E7
| E7: ASTORE 5
| ALOAD_2
| MONITOREXIT
finally -> E7
ALOAD 5
ATHROW
L6: GOTO L0 (line 336)
end edu.brown.cs.cs032.crawler.CrawlerUrl getNextUrl()
void addFutureUrls(java.util.Collection):
ALOAD_1 // Ljava/util/Collection; c (line 340)
IFNULL L0
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 341)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_sema Ljava/lang/Object;
DUP
ASTORE_2
MONITORENTER
finally -> E1
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 342)
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.future_urls Ljava/util/Set;
| ALOAD_1 // Ljava/util/Collection; c
| INVOKEINTERFACE java.util.Set.addAll (Ljava/util/Collection;)Z
| POP
| ALOAD_2 (line 343)
| MONITOREXIT
finally -> E1
GOTO L0
finally -> E1
| E1: ASTORE_3
| ALOAD_2
| MONITOREXIT
finally -> E1
ALOAD_3
ATHROW
L0: RETURN (line 345)
end void addFutureUrls(java.util.Collection)
private void startThreads():
ICONST_0 (line 354)
ISTORE_1
L0: ILOAD_1 // I i
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.num_threads I
IF_ICMPGE L2
NEW edu.brown.cs.cs032.crawler.crawl.CrawlThread (line 355)
DUP
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this
ILOAD_1 // I i
INVOKESPECIAL edu.brown.cs.cs032.crawler.crawl.CrawlThread.<init> (Ledu/brown/cs/cs032/crawler/crawl/CrawlMain;I)V
ASTORE_2
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 356)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.thread_set Ljava/util/Collection;
ALOAD_2 // Ledu/brown/cs/cs032/crawler/crawl/CrawlThread; ct
INVOKEINTERFACE java.util.Collection.add (Ljava/lang/Object;)Z
POP
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 357)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.work_sema Ljava/lang/Object;
DUP
ASTORE_3
MONITORENTER
finally -> E1
| ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 358)
| DUP
| GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ICONST_1
| IADD
| PUTFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.active_count I
| ALOAD_2 // Ledu/brown/cs/cs032/crawler/crawl/CrawlThread; ct (line 359)
| INVOKEVIRTUAL edu.brown.cs.cs032.crawler.crawl.CrawlThread.start ()V
| ALOAD_3 (line 360)
| MONITOREXIT
finally -> E1
GOTO L1
finally -> E1
| E1: ASTORE 4
| ALOAD_3
| MONITOREXIT
finally -> E1
ALOAD 4
ATHROW
L1: IINC_1 1 // I i (line 354)
GOTO L0
L2: RETURN (line 362)
end private void startThreads()
private void waitForDone():
ALOAD_0 // Ledu/brown/cs/cs032/crawler/crawl/CrawlMain; this (line 365)
GETFIELD edu.brown.cs.cs032.crawler.crawl.CrawlMain.thread_set Ljava/util/Collection;
INVOKEINTERFACE java.util.Collection.iterator ()Ljava/util/Iterator;
ASTORE_1
L0: ALOAD_1 // Ljava/util/Iterator; i$
INVOKEINTERFACE java.util.Iterator.hasNext ()Z
IFEQ L2
ALOAD_1 // Ljava/util/Iterator; i$
INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
CHECKCAST edu.brown.cs.cs032.crawler.crawl.CrawlThread
ASTORE_2
catch java.lang.InterruptedException -> E0
| ALOAD_2 // Ledu/brown/cs/cs032/crawler/crawl/CrawlThread; ct (line 367)
| INVOKEVIRTUAL edu.brown.cs.cs032.crawler.crawl.CrawlThread.join ()V
catch java.lang.InterruptedException -> E0
GOTO L1 (line 369)
E0: ASTORE_3 (line 368)
L1: GOTO L0 (line 369)
L2: RETURN (line 371)
end private void waitForDone()
end public class edu.brown.cs.cs032.crawler.crawl.CrawlMain
-- (OutOfMemoryError) GC overhead limit exceeded
GC overhead limit exceeded
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOfRange(Arrays.java:3209)
at java.lang.String.<init>(String.java:216)
at java.lang.StringBuffer.toString(StringBuffer.java:585)
at org.aspectj.weaver.ReferenceType.makeParameterizedSignature(ReferenceType.java:828)
at org.aspectj.weaver.ReferenceType.<init>(ReferenceType.java:75)
at org.aspectj.weaver.TypeFactory.createParameterizedType(TypeFactory.java:44)
at org.aspectj.weaver.ResolvedType.parameterize(ResolvedType.java:1945)
at org.aspectj.weaver.ReferenceType.getSuperclass(ReferenceType.java:726)
at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:67)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:431)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:432)
at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:302)
at org.aspectj.weaver.patterns.KindedPointcut.warnOnConfusingSig(KindedPointcut.java:153)
at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:109)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:54)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:52)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:52)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146)
at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:52)
at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:146)
at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:69)
at org.aspectj.weaver.Advice.match(Advice.java:112)
at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:140)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2981)
at org.aspectj.weaver.bcel.BcelClassWeaver.matchInvokeInstruction(BcelClassWeaver.java:2940)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2697)
at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2483)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:486)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:98)
warning at /home/suman/exercise/steve_rnr/ytrace/ytrace_examples/crawler/javasrc/edu/brown/cs/cs032/crawler/ytrace