Bug 67505 - -Xmx256M not implemented?
Summary: -Xmx256M not implemented?
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.2   Edit
Hardware: PC Windows 2000
: P3 critical (vote)
Target Milestone: 1.2.1   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-06-16 15:15 EDT by Michael McConnell CLA
Modified: 2004-10-21 04:32 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael McConnell CLA 2004-06-16 15:15:33 EDT
When running aspectj within Eclipse 3.0 (M9) and adding -Xmn256M as a compiler
option, the following message occurs:

"directory does not exist: -Xmx256M"

When specifying the maximum memory to use using -X="mx256M" the following
message appears:

"directory does not exist: mx256M"

This message also appears using the command line.

When doing the following command -- there is no reference maximum memory usage. 
$ bash ajc -version
AspectJ Compiler 1.2 built on Friday May 21, 2004 at 15:06:22 GMT
$ bash ajc -help 
AspectJ Compiler

	Usage: <options> <source file | @argfile>..

AspectJ-specific options:
	-inpath <list>      use classes in dirs and jars/zips in <list> as source
	                    (<list> uses platform-specific path delimiter)
	-injars <jarList>   use classes in <jarList> zip files as source
	                    (<jarList> uses classpath delimiter)
	                    deprecated - use inpath instead.
	-aspectpath <list>  weave aspects from <list> zip files into sources
	                    (<list> uses classpath delimiter)
	-outjar <file>      put output classes in zip file <file>
	-argfile <file>     specify line-delimited list of source files
	-incremental        continuously-running compiler, needs -sourceroots
	                    (reads stdin: enter to recompile and 'q' to quit)
	-sourceroots <dirs> compile all .aj and .java files in <dirs>
	                    (<dirs> uses classpath delimiter)
	-emacssym           generate .ajesym symbol files for emacs support
	-Xlint              same as '-Xlint:warning'
	-Xlint:<level>      set default level for crosscutting messages
	                    (<level> may be ignore, warning, or error)
	-Xlintfile <file>   specify properties file to set per-message levels
	                    (cf org/aspectj/weaver/XlintDefault.properties)

Standard Eclipse compiler options:
 Options enabled by default are prefixed with '+'
 
 Classpath options:
    -cp -classpath <directories and zip/jar files separated by ;>
                       specify location for application classes and sources
    -bootclasspath <directories and zip/jar files separated by ;>
                       specify location for system classes
    -d <dir>           destination directory (if omitted, no directory is created)
    -d none            generate no .class files
    -encoding <enc>    specify custom encoding for all sources. Each
file/directory can override it
                       when suffixed with '['<enc>']' (e.g. X.java[utf8])
 
 Compliance options:
    -1.3               use 1.3 compliance level (implicit -source 1.3 -target 1.1)
    -1.4             + use 1.4 compliance level (implicit -source 1.3 -target 1.2)
    -source <version>  set source level (1.3 or 1.4)
    -target <version>  set classfile target (1.1 to 1.4)
 
 Warning options:
    -deprecation     + deprecation outside deprecated code
    -nowarn            disable all warnings
    -warn:none         disable all warnings
    -warn:<warnings separated by ,>    enable exactly the listed warnings
    -warn:+<warnings separated by ,>   enable additional warnings
    -warn:-<warnings separated by ,>   disable specific warnings
      allDeprecation       deprecation including inside deprecated code
      allJavadoc           invalid or missing javadoc
      assertIdentifier   + 'assert' used as identifier
      charConcat         + char[] in String concat
      conditionAssign      possible accidental boolean assignment
      constructorName    + method with constructor name
      deprecation        + deprecation outside deprecated code
      emptyBlock           undocumented empty block
      fieldHiding          field hiding another variable
      finally            + finally block not completing normally
      indirectStatic       indirect reference to static member
      intfNonInherited   + interface non-inherited method compatibility
      javadoc              invalid javadoc
      localHiding          local variable hiding another variable
      maskedCatchBlock   + hidden catch block
      nls                  string literal lacking non-nls tag //$NON-NLS-<n>$
      noEffectAssign     + assignment without effect
      pkgDefaultMethod   + attempt to override package-default method
      semicolon            superfluous semicolon
      unqualifiedField     unqualified reference to field
      unusedImport       + unused import declaration
      unusedLocal          unread local variable
      unusedPrivate        unused private member declaration
      unusedThrown         unused declared thrown exception
      uselessTypeCheck     unnecessary cast/instanceof operation
      specialParamHiding   constructor or setter parameter hiding another field
      staticReceiver     + non-static reference to static member
      syntheticAccess      synthetic access for innerclass
      tasks(<tags separated by |>) tasks identified by tags inside comments
 
 Debug options:
    -g[:lines,vars,source] custom debug info
    -g:lines,source  + both lines table and source debug info
    -g                 all debug info
    -g:none            no debug info
    -preserveAllLocals preserve unused local vars for debug purpose
 
 Advanced options:
    -log <file>        log to a file
    -proceedOnError    do not stop at first error, dumping class files with
problem methods
    -verbose           enable verbose output
    -referenceInfo     compute reference info
    -progress          show progress (only in -log mode)
    -time              display speed information 
    -noExit            do not call System.exit(n) at end of compilation (n==0 if
no error)
    -repeat <n>        repeat compilation process <n> times for perf analysis
    @<file>            read command line arguments from file
 
    -? -help           print this help message
    -v -version        print compiler version
    -showversion       print compiler version and continue

	

1 fail|abort
Comment 1 Michael McConnell CLA 2004-06-16 15:18:06 EDT
correction -- "-Xmn256M" WAS ACTUALLY SPECIFIED AS "-Xmx256M"

sorry.
-Michael
Comment 2 Andrew Clement CLA 2004-06-17 03:17:44 EDT
For the AspectJ compiler in eclipse to have more memory available, you should
start the eclipse jvm with more memory

eclipse -vmargs -Xmx256M

---

For the command line compiler, you should look in the script that kicks off the
compiler, either 'aj.bat' on windows or 'aj' on unix.  Inside the script you
will see a call to java that sets Xmx to 64M, increase that to 256M.

---

It wouldn't be any good for the compiler code to process it as an option because
by then the JVM has started and Xmx has been decided.  Hopefully the above info
helps you get it going :)
Comment 3 Andrew Clement CLA 2004-08-06 05:41:21 EDT
I believe I have had an email exchange with Michael confirming this worked for
him (I just cant find it in my inbox - doh!).
Comment 4 Adrian Colyer CLA 2004-10-21 04:32:04 EDT
Fix released as part of AspectJ 1.2.1