Commit Graph

1491 Commits

Author SHA1 Message Date
95a386f2a6 handle null values in IsSameObject 2008-04-01 16:40:53 -06:00
b12226e878 make private copy of libraryName in BuiltinElement 2008-04-01 16:36:00 -06:00
1c49b3bc1b Merge branch 'master' of oss:/var/local/git/avian into dynamic 2008-04-01 11:38:15 -06:00
4102c97be3 fix bugs wrt calling methods via JNI 2008-04-01 11:37:59 -06:00
907382bcee fix broken field alignment in parseFieldTable which caused longs to overlap other fields on 32-bit systems in certain cases 2008-03-31 18:34:57 -06:00
74295bb707 interpret avian.bootstrap property as a complete file name 2008-03-31 12:57:49 -06:00
9bcc4dd4ed fix build for OSX 10.4 and below 2008-03-31 11:58:40 -06:00
c37f0dcf18 fix darwin build 2008-03-30 22:23:51 -06:00
357bd29460 support building Avian as a self-contained dynamic library 2008-03-30 21:43:43 -06:00
9cb21a29a6 fix handling of interface vtables for abstract classes 2008-03-21 17:42:36 -06:00
50040b24f5 remove unused code from util.cpp 2008-03-21 14:33:44 -06:00
c7a357aa5e implement l2d and l2f in interpret.cpp 2008-03-21 13:52:09 -06:00
9fe2cbff43 implement l2d and l2f byte codes 2008-03-20 18:37:58 -06:00
56389dd2e1 don't populate interface vtables for abstract classes 2008-03-20 18:37:21 -06:00
d8889bd4d8 protect local variables from GC in jnienv.cpp 2008-03-20 18:36:53 -06:00
a51c4cef39 bugfixes 2008-03-16 13:38:43 -06:00
684b402e82 bugfixes and new instructions 2008-03-15 17:54:20 -06:00
420a054fd8 support 1- and 2-byte moves to memory 2008-03-15 15:02:19 -06:00
8141fc21b4 release base and index values of AbstractMemoryValue if necessary; bugfixes 2008-03-15 14:44:14 -06:00
6bf0ca5bd9 various bugfixes and new instructions 2008-03-15 14:24:04 -06:00
6a9fbc0c17 allow assembler to acquire and release temporary registers; new machine instruction implementations; bugfixes 2008-03-13 17:43:11 -06:00
406f173982 handle constant array lengths and indexes properly; various bugfixes 2008-03-13 14:50:56 -06:00
7cd79736c2 fix tracking of stack operations in compile.cpp 2008-03-11 10:57:35 -06:00
c5b8b83cc7 clean up code for optimizing stack operations 2008-03-11 10:40:28 -06:00
9e2e614a15 various fixes to get invokevirtual working 2008-03-10 16:37:21 -06:00
a388ca19ee fix build for GCC 4.3
Note that this requires removing the -Wconversion flag for now.  I'll
see about restoring it when I'm ready to tackle all those warnings.
2008-03-10 13:49:10 -06:00
0fe748c3a1 avoid unecessary mov instructions 2008-03-10 07:29:42 -06:00
11dea0ad8e don't bother calling methods which are known do nothing 2008-03-10 07:28:21 -06:00
888836f8cd use push and pop for stack operations instead of mov 2008-03-09 15:27:51 -06:00
7cfb89bd2a Merge branch 'master' into compiler 2008-03-09 11:31:55 -06:00
fbc5463fb1 specify Avian version via a macro defined in makefile 2008-03-06 13:30:26 -07:00
9fe00836f7 fix stack mapping code to do as many passes as necessary
Previously, we had been doing exactly two passes over the event log to
caculate the stack object reference map at each trace point.  It turns
out the correct number of passes depends on how many incorrect
assumptions we make about what the stack looks like at instructions with
multiple predecessors (i.e. targets of jumps and branches).

Each time we detect we've made one or more incorrect assumptions during
a pass, we must do another pass to correct those assumptions.  That pass
may in turn reveal further incorrect assumptions, and so on.
2008-03-05 14:44:17 -07:00
3317149cd2 Merge branch 'master' into compiler
Conflicts:

	src/x86.cpp
2008-02-26 17:56:35 -07:00
e616161d5a Fixes jar file loading for compressed jars.
zip files have a central directory header (which has correct information
about files) and a local file header (which sometimes does not.)  Always use
the central directory versions to get accurate data.
2008-02-25 17:29:26 -07:00
823148841a fix generation of UnsatisfiedLinkError message in resolveNativeMethodData 2008-02-20 10:51:54 -07:00
9601f2fb04 fix process=interpret build 2008-02-20 10:48:08 -07:00
1f48d39a8a Reset debugging flag 2008-02-20 10:14:42 -07:00
8f4cb3315a do not call dlclose on the main executable (to avoid crashes) 2008-02-20 09:41:30 -07:00
85abd14137 change avium.version to avian.version 2008-02-20 08:13:15 -07:00
2f1bdfeb27 remove x86.cpp 2008-02-19 19:10:18 -07:00
5680f14eb1 remove compiler2.{h,cpp}, since that work has moved to a seperate branch 2008-02-19 19:03:06 -07:00
2edaa82801 prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
e8ed2a4749 various bugfixes in new compiler 2008-02-17 15:29:04 -07:00
d654c943f3 various bugfixes and tweaks in new compiler, primarily related to duplicating stack operands 2008-02-17 13:57:40 -07:00
6271f878e8 include function prologue and epilogue when compiling 2008-02-12 08:21:51 -07:00
fa513beb2f rework compiler interface to explicitly accept a size parameter for each operation where relevant 2008-02-11 19:06:12 -07:00
b9fa7179d9 more work on new compiler; addition now works 2008-02-11 17:20:32 -07:00
5b2f351f01 adapt compile.cpp to new compiler 2008-02-11 10:21:41 -07:00
713ff23881 clean up sketch of new compiler 2008-02-09 13:11:37 -07:00
dc04c63491 more work on new compiler 2008-02-08 16:18:57 -07:00