Commit Graph

20 Commits

Author SHA1 Message Date
Julien Fischer
cccf6db162 Document the --{host,target}-env-type options.
Branches: main, 11.01

Document the --{host,target}-env-type options.

doc/user_guide.texi:
compiler/options.m:
	Add (or enable) the documentation for the above options.

README.{Erlang,Java}:
	Mention how to produce a batch file launcher rather than a
	shell script.
2011-01-10 06:40:25 +00:00
Peter Wang
91b78d6738 Make it possible to install and use the csharp.ssdebug grade.
Branches: main

Make it possible to install and use the csharp.ssdebug grade.

Mmake.workspace:
        Never try to link with `mer_rt' in C# grades.

browser/Mmakefile:
mdbcomp/Mmakefile:
ssdb/Mmakefile:
        Use `mmc --make' to install these libraries in `csharp' grades.

        Don't add C libraries to MLLIBS in non-C or asm grades.

browser/Mercury.options:
ssdb/Mercury.options:
        "EXTRA_LIBRARIES-libname" doesn't actually work with `mmc --make',
        but "LIBRARIES-name" does.

library/exception.m:
ssdb/ssdb.m:
        Handle EXCP events in C# grades.

        Trap SIGINT when running ssdb in C# grades.

        Add `exit_process' implementation.

browser/declarative_execution.m:
browser/listing.m:
        Add stubs for C#.

README.CSharp:
        Document the C# backend.

README.DotNet:
        Add a pointer to README.CSharp.

README.Erlang:
README.Java:
        Remove a non-sensical paragraph.

.INSTALL.in:
configure.in:
        Add `--enable-csharp-grade' option.

        Make `configure --enable-ssdebug-grades' add `csharp.ssdebug'
        to the list of library grades.
2010-10-26 04:59:10 +00:00
Peter Wang
07557a573c Add some documentation for the source-to-source debugger.
Branches: main, 10.04

README.ssdebug:
        Add some documentation for the source-to-source debugger.

NEWS:
README.Java:
        Mention the source-to-source debugger.
2010-06-10 07:00:59 +00:00
Peter Wang
3716b74eb5 It appears that javac -Xmx256m still runs out of memory when building
Branches: main

library/Mmakefile:
	It appears that javac -Xmx256m still runs out of memory when building
	the standard library in the java grade on 32-bit machines. Bump up the
	maximum size to 512 MB for the standard library, but not in general.

README.Java:
	Describe how to increase the memory limit with mmc --make.
2009-11-05 01:59:45 +00:00
Peter Wang
254a45937c Use mmc --make to install Java grades. The makefile rules in library/Mmakefile
Branches: main

Use mmc --make to install Java grades.  The makefile rules in library/Mmakefile
did not install .opt files into <prefix>/lib/mercury/ints/java.  When
intermodule optimisation was enabled with a Java grade, the Mercury compiler
would read the .opt files from <prefix>/lib/mercury/ints, which could be from
*any* grade (they are only installed to work around problems with Mmake).

Mmakefile:
        Force mmc --make to be used to install Java grades.

browser/Mmakefile:
library/Mmakefile:
mdbcomp/Mmakefile:
ssdb/Mmakefile:
        Delete rules for building libraries in the Java grade with Mmake.

        Move --no-libgrade options to *_FLAGS files.

library/Mmakefile:
        Create the jmercury -> ../java symlink at the `mmake depend' step.

        Pass -sourcepath . to javac so it can find the jmercury/runtime/*.java
        files.

browser/MDB_FLAGS.in:
compiler/COMP_FLAGS.in:
library/LIB_FLAGS.in:
mdbcomp/MDBCOMP_FLAGS.in:
ssdb/SSDB_FLAGS.in:
        Add --no-libgrade options so that mmc --make libFOO.install only
        installs the main grade.

        Add --no-java-classpath so that the .jar files from the installed
        compiler aren't used.

        Tell the Java compiler about .jar files that each directory depends on.

README.Java:
        Remove a mention of Mmake with the java grade.
2009-10-20 04:07:25 +00:00
Peter Wang
5454956ebf Document that there are problems at higher optimisation levels
Branches: main

README.Java:
        Document that there are problems at higher optimisation levels
        and that trailing and tabling are not supported.
2009-09-28 06:59:44 +00:00
Peter Wang
7a3b796bb1 Make the warning less scary.
Branches: main

README.Java:
        Make the warning less scary.

        Preempt complaints about performance on short programs.
2009-09-25 07:35:18 +00:00
Peter Wang
9fc47f5c91 Make the Java backend not use native code to implement any standard library
Branches: main

Make the Java backend not use native code to implement any standard library
procedures.  The only such procedures were related to benchmarking and timing,
which aren't very important so I just make a best effort using methods that
the Java standard library provides.

library/benchmarking.m:
        Implement `benchmarking.report_stats' for Java as closely as possible
        without native code.  Add real time output.

        Add `benchmarking.ML_initialise' to remember the time when the
        program starts up.

compiler/mlds_to_java.m:
        Make the main wrapper call `benchmarking.ML_initialise' at startup.

library/time.m:
        Implement `time.clock', `time.times', `time.clocks_per_sec',
        `time.clk_tck' as closely as possible without native code.

library/Mmakefile:
        Comment out commands to build and install Native.so.

java/runtime/Native.c:
        Even though this is not used any more, update the function names for
        the "jmercury" package prefix.

README.Java:
        Update section on unimplemented procedures.
2009-08-14 06:34:03 +00:00
Peter Wang
c6b277dd3a Implementation of construct and construct_tuple for Java backend.
Branches: main

Implementation of construct and construct_tuple for Java backend.

java/runtime/TypeCtorInfo_Struct.java:
        The type_ctor_num_functors field was not being initialised.

library/construct.m:
        Call the predicates in rtti_implementation.m when appropriate.

library/rtti_implementation.m:
        Fix get_functor_enum which was confused lexical ordering and functor
        ordinals.

        Implement construct and construct_tuple for Java backend.

        Delete some out of date comments.

library/type_desc.m:
        Add Pseudo_type_desc_0 class which mirrors the
        jmercury.runtime.PseudoTypeInfo class with Type_desc_0 and
        Type_ctor_desc_0 as subclasses.

        Fill in stubs that work with pseudo_type_descs.

library/univ.m:
        Export predicates.

README.Java:
        Update readme.
2009-07-31 06:54:21 +00:00
Peter Wang
ae7e6b4dc3 Complete the deep copy implementation for Java.
Branches: main

Complete the deep copy implementation for Java.

library/builtin.m:
        Implement deep copy using reflection to instantiate new objects and
        set fields.  Only Mercury objects are copied, in line with deep copy
        in C grades.

compiler/ml_type_gen.m:
        Generate zero-argument constructors for Java classes corresponding to
        Mercury types.  The deep copy implementation needs to be able to
        instantiate the classes without knowing the constructor arguments.

README.Java:
        Update readme.
2009-06-16 00:38:23 +00:00
Peter Wang
d1cffc4523 RTTI improvements for Java backend. io.write/3 works for some simple types
Branches: main

RTTI improvements for Java backend.  io.write/3 works for some simple types
(builtin types and non-existential d.u. types).

compiler/mlds_to_java.m:
        Fix problem with cyclic RTTI definitions.  Initialisers could refer to
        other RTTI structures which weren't yet allocated, leading to fields
        being null.  The fix is to allocate all top-level RTTI objects first
        and initialise in a second phase.

java/runtime/DuExistInfo.java:
java/runtime/DuExistLocn.java:
java/runtime/DuFunctorDesc.java:
java/runtime/EnumFunctorDesc.java:
java/runtime/ForeignEnumFunctorDesc.java:
java/runtime/TypeClassConstraint.java:
java/runtime/TypeClassDeclStruct.java:
java/runtime/TypeClassId.java:
java/runtime/TypeCtorInfo_Struct.java:
java/runtime/TypeInfo_Struct.java:
        Separate constructors into constructors for the initial allocation,
        and an `init' method to fill in the fields.

java/runtime/MethodPtr.java:
        Use variadic method support to simplify semidet_call_* and
        result_call_* in rtti_implementation.m.

library/builtin.m:
        Make Java definitions of builtin.unify/2 and builtin.compare/3 call
        rtti_implementation.generic_unify and generic_compare.

library/private_builtin.m:
        Add missing MR_TYPECTOR_REP_FOREIGN_ENUM{,_USEREQ} constants
        for C# and Java.

library/rtti_implementation.m:
        Fix and add missing Java versions of many foreign_procs.

        Add more attributes to foreign_procs.

        Clean up the code a bit (fewer casts and ^ field access functions).

README.Java:
        Bump Java version requirement to J2SE 1.5 or higher.
2009-04-30 00:43:35 +00:00
Julien Fischer
576600811f Prepare for the 0.13 release and fix/update documentation.
Estimated hours taken: 1
Branches: main, release

Prepare for the 0.13 release and fix/update documentation.

NEWS:
HISTORY:
	Update the NEWS and HISTORY files for the 0.13 release.

RELEASE_NOTES:
	s/0.12/0.13/

	Add Linux/x86_64 to the list of architectures supported by this
	release.

	Remove Solaris 8/x86 from the same list.

.README.in:
extras/README:
	Remove references to the clp(r) binding.  We no longer support it.

bindist/bindist.README:
	Update the year in the copyright message.

	Fix the gc version; 0.13 uses 6.5.

BUGS:
README.DotNet:
README.Java:
README.gcc-backend:
doc/faq.texi:
doc/make_manpage:
doc/mercury.html.in:
doc/mercury.info.in:
	s/.cs.mu.oz.au/.csse.unimelb.edu.au/

library/array.m:
library/builtin.m:
library/eqvclass.m:
library/graph.m:
samples/README:
	Fix typos.
2006-09-07 08:32:20 +00:00
Julien Fischer
7203b29da8 The Java grade is not enabled by default at the moment.
Estimate hours taken: 0.1
Branches: main, release

NEWS:
	The Java grade is not enabled by default at the moment.

README.Java:
	Mention that the Java grade is sometimes broken (like now).
2005-08-30 07:29:35 +00:00
Fergus Henderson
3fee135954 Mention some more things that don't work, and say that the list
Estimated hours taken: 0.5
Branches: main

README.Java:
	Mention some more things that don't work, and say that the list
	of things that don't work is probably incomplete.
2004-02-20 05:32:54 +00:00
James Goddard
02d4fe2e13 Update documentation for Java grade.
Estimated hours taken: 0.2
Branches: main

Update documentation for Java grade.

README.Java:
	Add sub-modules to the list of unimplemented features.
	Rearrange `unimplemented' section of FAQ slightly to aid readability.
2004-02-16 03:55:59 +00:00
James Goddard
bf70ebd080 Simplify use of the Java grade by automatically setting the classpath.
Estimated hours taken: 1.5
Branches: main

Simplify use of the Java grade by automatically setting the classpath.

scripts/Mercury.config.in:
scripts/Mercury.config.bootstrap.in:
	Set the --java-classpath option in DEFAULT_MC_FLAGS.
	Define STD_LIB_NAME, RT_LIB_NAME.

scripts/c2init.in:
	Add the above two files to the list of those which use STD_LIB_NAME and
	RT_LIB_NAME.

library/Mmakefile:
	Use RT_LIB_NAME instead of STD_LIB_NAME.runtime

compiler/modules.m:
	Remove the XXX comment that worries about this issue.

README.Java:
	Remove instructions relating to setting the classpath manually.
2004-02-12 02:48:37 +00:00
James Goddard
83d21de865 Update documentation for Java grade.
Estimated hours taken: 0.2
Branches: main

Update documentation for Java grade.

README.Java:
	Update the list of implemented modules.  Include list of
	incompletely implemented predicates.
2004-02-11 23:52:56 +00:00
Fergus Henderson
89adfe0d7b Clean up the handling of the --java' and --gc' compilation options.
Estimated hours taken: 3
Branches: main

Clean up the handling of the `--java' and `--gc' compilation options.

README.Java:
	Document the `--java' and `--target java' options,
	and use `--java' rather than `--grade java' in the examples.

compiler/handle_options.m:
	Fix a bug where `mmc --java --output-grade-string'
	was printing "java.gc" instead of "java".  It was calling
	set_gc_method to set the gc_method field in the globals structure,
	but it was not setting the corresponding string option in the
	options table, and compute_grade was looking at the string option.
	The fix was to also set the string option.

scripts/parse_grade_options.sh-subr:
	Handle the `--java' and `--java-only' options.

scripts/final_grade_options.sh-subr:
	For the IL and Java back-ends, set the gc_method to automatic.
	For the Java back-end, set highlevel_data to true.

compiler/globals.m:
	Fix an XXX: add a new alternative to the gc_method type,
	"automatic", to distinguish lack of GC ("none") from the
	automatic GC done by Java or the .NET CLR.

compiler/options.m:
doc/user_guide.texi:
	Document the new `--gc automatic' alternative for the `--gc' option.
	Delete the documentation of the deprecated `--gc conservative'
	option (which has been replaced with `--gc boehm').

compiler/compile_target_code.m:
compiler/handle_options.m:
scripts/parse_grade_options.sh-subr:
scripts/final_grade_options.sh-subr:
	Handle the new `--gc automatic' option..
2004-02-10 12:43:33 +00:00
Fergus Henderson
aa694a3f9d A few minor wording changes. Suggest using `--target-debug'
Estimated hours taken: 0.5
Branches: main

README.Java:
	A few minor wording changes.  Suggest using `--target-debug'
	rather than `--java-flags "-g"' to enable Java-level debugging.
2004-02-08 04:29:23 +00:00
James Goddard
18d457a7c4 A helpful guide to installing and using the Java grade, modelled on
Estimated hours taken: 5
Branches: main

README.Java:
	A helpful guide to installing and using the Java grade, modelled on
	README.DotNet.
2004-02-02 03:16:35 +00:00