fpc/compiler/jvm
Jonas Maebe ee8b662fa1 + dynamic array support for the JVM target: setlength(), length(), high():
o since the JVM does not support call-by-reference, setlength() works
     by taking an argument pointing to the old array and one to the new
     array (the latter is always created in advance on the caller side,
     even if not strictly required, because we cannot easily create it
     on the callee side in an efficient way). Then we copy parts of the
     old array to the new array as necessary
   o to represent creating a new dynamic array, the JVM target uses
     an in_new_x tinlinenode
  + tasnode support for the JVM. Special: it can also be used to convert
    java.lang.Object to dynamic arrays, and dynamic arrays of java.lang.Object
    to dynamic arrays with more dimensions (arrays are special JVM objects,
    and such support is required for the setlength support)
  + check whether explicit type conversions are valid, and if so, add the
    necessary conversion code since we cannot simply reinterpret bit patterns
    in most cases in the JVM:
   o in case of class and/or dynamic array types, convert to an as-node
   o in case of int-to-float or float-to-int, use java.lang.Float/Double
     helpers (+ added the definitions of these helpers to the system unit)

git-svn-id: branches/jvmbackend@18378 -
2011-08-20 07:54:17 +00:00
..
aasmcpu.pas + dynamic array support for the JVM target: setlength(), length(), high(): 2011-08-20 07:54:17 +00:00
cgcpu.pas * made maxregs related information protected instead of private in trgobj, 2011-08-20 07:38:11 +00:00
cpubase.pas + cpubase for jvm: opcodes, basic register definitions, ... 2011-08-20 07:35:32 +00:00
cpuinfo.pas * fixed compilation 2011-08-20 07:36:22 +00:00
cpunode.pas + JVM-specific versions of initialize_data_node()/finalize_data_node(): 2011-08-20 07:52:39 +00:00
cpupara.pas * allow overriding tparamanager.is_stack_paraloc() and let it always 2011-08-20 07:46:17 +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 writing JVM line number information 2011-08-20 07:50:46 +00:00
hlcgcpu.pas + dynamic array support for the JVM target: setlength(), length(), high(): 2011-08-20 07:54:17 +00:00
itcpujas.pas + jvm (cpu architecure) and java ("OS"/target) identifiers 2011-08-20 07:37:33 +00:00
jvmreg.dat + (mostly fake) register definitions for the JVM 2011-08-20 07:35:17 +00:00
njvmadd.pas * reorder processing of left/right for add nodes somewhat to make 2011-08-20 07:48:42 +00:00
njvmcal.pas + gethltemp() to allocate a temp specifying full type information even 2011-08-20 07:54:04 +00:00
njvmcnv.pas + dynamic array support for the JVM target: setlength(), length(), high(): 2011-08-20 07:54:17 +00:00
njvmcon.pas + support for floating point constants 2011-08-20 07:47:29 +00:00
njvminl.pas + dynamic array support for the JVM target: setlength(), length(), high(): 2011-08-20 07:54:17 +00:00
njvmmat.pas * fixed 64 bit shl/shr/sar operations: the second argument of the 2011-08-20 07:48:23 +00:00
njvmutil.pas + JVM-specific versions of initialize_data_node()/finalize_data_node(): 2011-08-20 07:52:39 +00:00
rgcpu.pas * made the remove_dummy_load_stores() implementation more extensible 2011-08-20 07:48:38 +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 * made setfirsttemp() virtual and override it in jvm/tgcpu so it no 2011-08-20 07:36:14 +00:00