summaryrefslogtreecommitdiff
path: root/compiler/js/cpuinfo.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/js/cpuinfo.pas')
-rw-r--r--compiler/js/cpuinfo.pas75
1 files changed, 75 insertions, 0 deletions
diff --git a/compiler/js/cpuinfo.pas b/compiler/js/cpuinfo.pas
new file mode 100644
index 0000000000..d4927066c3
--- /dev/null
+++ b/compiler/js/cpuinfo.pas
@@ -0,0 +1,75 @@
+{
+ 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,
+ { JS for asm.js }
+ cpu_asmjs
+ );
+
+ 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] = ('',
+ 'ASMJS'
+ );
+
+ 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.