langtools/README
author iveresov
Thu, 02 Dec 2010 17:21:12 -0800
changeset 7432 f06f1253c317
parent 2854 47bb5c4cb85e
child 19931 f82b95ab8015
permissions -rw-r--r--
7003554: (tiered) assert(is_null_object() || handle() != NULL) failed: cannot embed null pointer Summary: C1 with profiling doesn't check whether the MDO has been really allocated, which can silently fail if the perm gen is full. The solution is to check if the allocation failed and bailout out of inlining or compilation. Reviewed-by: kvn, never
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
Building the "langtools" workspace.
06bc494ca11e Initial load
duke
parents:
diff changeset
     2
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
The "langtools" workspace can be built from the command line with Ant.
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
The build file is make/build.xml, in conjunction with make/build.properties.
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
Some additional user-specific properties files are also read, to allow
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
you to customize selected properties as needed.
06bc494ca11e Initial load
duke
parents:
diff changeset
     7
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
Individual tools within the workspace can also be built and worked on
06bc494ca11e Initial load
duke
parents:
diff changeset
     9
with NetBeans, using the projects in the make/netbeans directory.
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
The "langtools" workspace can also be built from the command line with
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
GNU Make, although the Makefile is simply a wrapper around the Ant
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
build file. This is provided for systems (such as the full OpenJDK build)
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
that expect to be able to build this workspace with GNU Make.
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
System Requirements:
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
  Ant:      version 1.6.5 or later
2854
47bb5c4cb85e 6843041: Remove duplicate README files in repositories (make/README)
ohair
parents: 10
diff changeset
    18
  NetBeans: version 6.0 or later (optional)
10
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
  JDK:      currently version 1.5.0, although 1.6.0 is recommended
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
  OS:       any system supporting the above tools
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
For more information:
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
  Ant:      http://ant.apache.org/
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
  GNU Make: http://www.gnu.org/software/make/
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
  NetBeans: http://www.netbeans.org/
06bc494ca11e Initial load
duke
parents:
diff changeset
    26
06bc494ca11e Initial load
duke
parents:
diff changeset
    27
06bc494ca11e Initial load
duke
parents:
diff changeset
    28
Testing the "langtools" workspace.
06bc494ca11e Initial load
duke
parents:
diff changeset
    29
06bc494ca11e Initial load
duke
parents:
diff changeset
    30
The primary set of tests for the compiler is the compiler TCK. This
06bc494ca11e Initial load
duke
parents:
diff changeset
    31
tests that the compiler performs according to the specifications in
06bc494ca11e Initial load
duke
parents:
diff changeset
    32
JLS and JVMS.
06bc494ca11e Initial load
duke
parents:
diff changeset
    33
06bc494ca11e Initial load
duke
parents:
diff changeset
    34
In addition, there is a substantial collection of regression and unit
06bc494ca11e Initial load
duke
parents:
diff changeset
    35
tests for all the tools in the maain langtools test/ directory.
06bc494ca11e Initial load
duke
parents:
diff changeset
    36
06bc494ca11e Initial load
duke
parents:
diff changeset
    37
Finally, there is a small set of tests to do basic validation of a build
06bc494ca11e Initial load
duke
parents:
diff changeset
    38
of the langtools workspace for use by JDK. These tests check the contents
06bc494ca11e Initial load
duke
parents:
diff changeset
    39
of the dist/ directory generated by the build, and verify that the various
06bc494ca11e Initial load
duke
parents:
diff changeset
    40
tools can do basic "Hello World"-style processing. These tests should be
06bc494ca11e Initial load
duke
parents:
diff changeset
    41
run by jtreg, with the -jdk option set a version of JDK capable of running
06bc494ca11e Initial load
duke
parents:
diff changeset
    42
the default output of the javac compiler in this workspace. Currently, 
06bc494ca11e Initial load
duke
parents:
diff changeset
    43
this means JDK 6 or better.