/compiler/jvm/cpuinfo.pas
https://github.com/slibre/freepascal · Pascal · 79 lines · 44 code · 15 blank · 20 comment · 0 complexity · d7c8ded43c02b859db9ac1e68b5ab768 MD5 · raw file
- {
- Copyright (c) 2010 by the Free Pascal development team
- Basic Processor information for the Java VM
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- Unit cpuinfo;
- Interface
- uses
- globtype;
- Type
- bestreal = double;
- ts32real = single;
- ts64real = double;
- ts80real = extended;
- ts128real = extended;
- ts64comp = comp;
- pbestreal=^bestreal;
- { possible supported processors for this target }
- tcputype =
- (cpu_none,
- { jvm, same as cpu_none }
- cpu_jvm,
- { jvm byte code to be translated into Dalvik bytecode: more type-
- sensitive }
- cpu_dalvik
- );
- tfputype =
- (fpu_none,
- fpu_standard
- );
- Const
- { calling conventions supported by the code generator }
- supported_calling_conventions : tproccalloptions = [
- pocall_internproc
- ];
- cputypestr : array[tcputype] of string[9] = ('',
- 'JVM',
- 'JVMDALVIK'
- );
- fputypestr : array[tfputype] of string[8] = (
- 'NONE',
- 'STANDARD'
- );
- { Supported optimizations, only used for information }
- supported_optimizerswitches = genericlevel1optimizerswitches+
- genericlevel2optimizerswitches+
- genericlevel3optimizerswitches-
- { no need to write info about those }
- [cs_opt_level1,cs_opt_level2,cs_opt_level3]+
- [cs_opt_loopunroll,cs_opt_nodecse];
- level1optimizerswitches = genericlevel1optimizerswitches;
- level2optimizerswitches = genericlevel2optimizerswitches + level1optimizerswitches + [cs_opt_nodecse];
- level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
- level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];
- Implementation
- end.