fpc/compiler/jvm
Jonas Maebe bd990d1173 * generate JVM bytecode that passes the stringent requirements of the Dalvik
verifier when -Cpjvmdalvik is used (including debug information). Using
    -Cpjvmdalvik changes the semantics at the language-level in one case:
    boolean(bytevar) will no longer return a boolean that contains the same
    value as bytevar did, but will map the value to 0/1 (that also means that
    such expressions cannot be passed to var-parameters in case of
    -Cpjvmdalvik). Code compiled with -Cpjvmdalvik will also work fine on
    the regular JVM, but it may be somewhat slower (it won't necessarily
    be slower on Dalvik, because the .class -> .dex transformation
    applies many optimizations itself)

git-svn-id: branches/jvmbackend@19743 -
2011-12-04 14:48:54 +00:00
..
aasmcpu.pas + support for (formal/untyped) constants (ordinal, floating point, 2011-08-20 07:55:41 +00:00
cgcpu.pas * removed unused local variables 2011-08-20 07:54:37 +00:00
cpubase.pas + cpubase for jvm: opcodes, basic register definitions, ... 2011-08-20 07:35:32 +00:00
cpuinfo.pas * generate JVM bytecode that passes the stringent requirements of the Dalvik 2011-12-04 14:48:54 +00:00
cpunode.pas + full support for sets on the JVM target 2011-08-20 08:22:22 +00:00
cpupara.pas * sign extend all byte/ansichar/word parameters before passing them 2011-08-30 23:34:12 +00:00
cpupi.pas + tjvmprocinfo, only overrides set_first_temp_offset() and sets it to 2011-08-20 07:37:20 +00:00
cputarg.pas + support for JVM local variable and parameter debug information 2011-08-20 07:50:41 +00:00
dbgjasm.pas + support for emiting "signature" attributes for fields and methods; these 2011-08-20 08:08:00 +00:00
hlcgcpu.pas * generate JVM bytecode that passes the stringent requirements of the Dalvik 2011-12-04 14:48:54 +00:00
itcpujas.pas + jvm (cpu architecure) and java ("OS"/target) identifiers 2011-08-20 07:37:33 +00:00
jvmdef.pas * generate JVM bytecode that passes the stringent requirements of the Dalvik 2011-12-04 14:48:54 +00:00
jvmreg.dat + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
njvmadd.pas * replace assigned(dynarray) and dynarray=/<>nil with length(dynarray)=/<>0 2011-09-19 19:59:32 +00:00
njvmcal.pas * fixed popping the unused function results of methods returning implicit 2011-11-06 14:01:12 +00:00
njvmcnv.pas * generate JVM bytecode that passes the stringent requirements of the Dalvik 2011-12-04 14:48:54 +00:00
njvmcon.pas * fixed all known memory leaks in the code added for the JVM port 2011-09-26 19:31:34 +00:00
njvmflw.pas * save/restore the current_except_loc instead of invalidating it after each 2011-11-21 18:48:19 +00:00
njvminl.pas * replace assigned(dynarray) and dynarray=/<>nil with length(dynarray)=/<>0 2011-09-19 19:59:32 +00:00
njvmld.pas * generate JVM bytecode that passes the stringent requirements of the Dalvik 2011-12-04 14:48:54 +00:00
njvmmat.pas * generate JVM bytecode that passes the stringent requirements of the Dalvik 2011-12-04 14:48:54 +00:00
njvmmem.pas * fixed r18981 (conversion of LOC_JUMP to something else must happen before 2011-09-19 21:22:35 +00:00
njvmset.pas * convert non-constant enums in in-expressions to longint if we use the 2011-08-20 08:25:33 +00:00
njvmtcon.pas + generic infrastructure for target-specific switches 2011-11-14 22:57:41 +00:00
njvmutil.pas + support for threadvars in the JVM based on JLThreadLocal; see 2011-08-23 17:45:01 +00:00
pjvm.pas * in case of an enum without a type name (e.g., "type xx = set of (ea,eb)"), 2011-10-28 21:19:12 +00:00
rgcpu.pas * fixed memory leak 2011-08-20 08:13:36 +00:00
rjvmcon.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmnor.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmnum.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmrni.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmsri.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmstd.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
rjvmsup.inc + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
tgcpu.pas * sign extend all byte/ansichar/word parameters before passing them 2011-08-30 23:34:12 +00:00