diff options
Diffstat (limited to '')
-rw-r--r-- | includes/compiler/Intrinsics.h | 325 |
1 files changed, 325 insertions, 0 deletions
diff --git a/includes/compiler/Intrinsics.h b/includes/compiler/Intrinsics.h index 19150f7..7ef7403 100644 --- a/includes/compiler/Intrinsics.h +++ b/includes/compiler/Intrinsics.h @@ -3,4 +3,329 @@ #include "compiler/common.h" +typedef enum Intrinsics { + Intrinsic_000, + Intrinsic_001, + Intrinsic_002, + Intrinsic_003, + Intrinsic_004, + Intrinsic_005, + Intrinsic_006, + Intrinsic_007, + Intrinsic_008, + Intrinsic_009, + Intrinsic_010, + Intrinsic_011, + Intrinsic_012, + Intrinsic_013, + Intrinsic_014, + Intrinsic_015, + Intrinsic_016, + Intrinsic_017, + Intrinsic_018, + Intrinsic_019, + Intrinsic_020, + Intrinsic_021, + Intrinsic_022, + Intrinsic_023, + Intrinsic_024, + Intrinsic_025, + Intrinsic_026, + Intrinsic_027, + Intrinsic_028, + Intrinsic_029, + Intrinsic_030, + Intrinsic_031, + Intrinsic_032, + Intrinsic_033, + Intrinsic_034, + Intrinsic_035, + Intrinsic_036, + Intrinsic_037, + Intrinsic_038, + Intrinsic_039, + Intrinsic_040, + Intrinsic_041, + Intrinsic_042, + Intrinsic_043, + Intrinsic_044, + Intrinsic_045, + Intrinsic_046, + Intrinsic_047, + Intrinsic_048, + Intrinsic_049, + Intrinsic_050, + Intrinsic_051, + Intrinsic_052, + Intrinsic_053, + Intrinsic_054, + Intrinsic_055, + Intrinsic_056, + Intrinsic_057, + Intrinsic_058, + Intrinsic_059, + Intrinsic_060, + Intrinsic_061, + Intrinsic_062, + Intrinsic_063, + Intrinsic_064, + Intrinsic_065, + Intrinsic_066, + Intrinsic_067, + Intrinsic_068, + Intrinsic_069, + Intrinsic_070, + Intrinsic_071, + Intrinsic_072, + Intrinsic_073, + Intrinsic_074, + Intrinsic_075, + Intrinsic_076, + Intrinsic_077, + Intrinsic_078, + Intrinsic_079, + Intrinsic_080, + Intrinsic_081, + Intrinsic_082, + Intrinsic_083, + Intrinsic_084, + Intrinsic_085, + Intrinsic_086, + Intrinsic_087, + Intrinsic_088, + Intrinsic_089, + Intrinsic_090, + Intrinsic_091, + Intrinsic_092, + Intrinsic_093, + Intrinsic_094, + Intrinsic_095, + Intrinsic_096, + Intrinsic_097, + Intrinsic_098, + Intrinsic_099, + Intrinsic_100, + Intrinsic_101, + Intrinsic_102, + Intrinsic_103, + Intrinsic_104, + Intrinsic_105, + Intrinsic_106, + Intrinsic_107, + Intrinsic_108, + Intrinsic_109, + Intrinsic_110, + Intrinsic_111, + Intrinsic_112, + Intrinsic_113, + Intrinsic_114, + Intrinsic_115, + Intrinsic_116, + Intrinsic_117, + Intrinsic_118, + Intrinsic_119, + Intrinsic_120, + Intrinsic_121, + Intrinsic_122, + Intrinsic_123, + Intrinsic_124, + Intrinsic_125, + Intrinsic_126, + Intrinsic_127, + Intrinsic_128, + Intrinsic_129, + Intrinsic_130, + Intrinsic_131, + Intrinsic_132, + Intrinsic_133, + Intrinsic_134, + Intrinsic_135, + Intrinsic_136, + Intrinsic_137, + Intrinsic_138, + Intrinsic_139, + Intrinsic_140, + Intrinsic_141, + Intrinsic_142, + Intrinsic_143, + Intrinsic_144, + Intrinsic_145, + Intrinsic_146, + Intrinsic_147, + Intrinsic_148, + Intrinsic_149, + Intrinsic_150, + Intrinsic_151, + Intrinsic_152, + Intrinsic_153, + Intrinsic_154, + Intrinsic_155, + Intrinsic_156, + Intrinsic_157, + Intrinsic_158, + Intrinsic_159, + Intrinsic_160, + Intrinsic_161, + Intrinsic_162, + Intrinsic_163, + Intrinsic_164, + Intrinsic_165, + Intrinsic_166, + Intrinsic_167, + Intrinsic_168, + Intrinsic_169, + Intrinsic_170, + Intrinsic_171, + Intrinsic_172, + Intrinsic_173, + Intrinsic_174, + Intrinsic_175, + Intrinsic_176, + Intrinsic_177, + Intrinsic_178, + Intrinsic_179, + Intrinsic_180, + Intrinsic_181, + Intrinsic_182, + Intrinsic_183, + Intrinsic_184, + Intrinsic_185, + Intrinsic_186, + Intrinsic_187, + Intrinsic_188, + Intrinsic_189, + Intrinsic_190, + Intrinsic_191, + Intrinsic_192, + Intrinsic_193, + Intrinsic_194, + Intrinsic_195, + Intrinsic_196, + Intrinsic_197, + Intrinsic_198, + Intrinsic_199, + Intrinsic_200, + Intrinsic_201, + Intrinsic_202, + Intrinsic_203, + Intrinsic_204, + Intrinsic_205, + Intrinsic_206, + Intrinsic_207, + Intrinsic_208, + Intrinsic_209, + Intrinsic_210, + Intrinsic_211, + Intrinsic_212, + Intrinsic_213, + Intrinsic_214, + Intrinsic_215, + Intrinsic_216, + Intrinsic_217, + Intrinsic_218, + Intrinsic_219, + Intrinsic_220, + Intrinsic_221, + Intrinsic_222, + Intrinsic_223, + Intrinsic_224, + Intrinsic_225, + Intrinsic_226, + Intrinsic_227, + Intrinsic_228, + Intrinsic_229, + Intrinsic_230, + Intrinsic_231, + Intrinsic_232, + Intrinsic_233, + Intrinsic_234, + Intrinsic_235, + Intrinsic_236, + Intrinsic_237, + Intrinsic_238, + Intrinsic_239, + Intrinsic_240, + Intrinsic_241, + Intrinsic_242, + Intrinsic_243, + Intrinsic_244, + Intrinsic_245, + Intrinsic_246, + Intrinsic_247, + Intrinsic_248, + Intrinsic_249, + Intrinsic_250, + Intrinsic_251, + Intrinsic_252, + Intrinsic_253, + Intrinsic_254, + Intrinsic_255, + Intrinsic_256, + Intrinsic_257, + Intrinsic_258, + Intrinsic_259, + Intrinsic_260, + Intrinsic_261, + Intrinsic_262, + Intrinsic_263, + Intrinsic_264, + Intrinsic_265, + Intrinsic_266, + Intrinsic_267, + Intrinsic_268, + Intrinsic_269, + Intrinsic_270, + Intrinsic_271, + Intrinsic_272, + Intrinsic_273, + Intrinsic_274, + Intrinsic_275, + Intrinsic_276, + Intrinsic_277, + Intrinsic_278, + Intrinsic_279, + Intrinsic_280, + Intrinsic_281, + Intrinsic_282, + Intrinsic_283, + Intrinsic_284, + Intrinsic_285, + Intrinsic_286, + Intrinsic_287, + Intrinsic_288, + Intrinsic_289, + Intrinsic_290, + Intrinsic_291, + Intrinsic_292, + Intrinsic_293, + Intrinsic_294, + Intrinsic_295, + Intrinsic_296, + Intrinsic_297, + Intrinsic_298, + Intrinsic_299, + Intrinsic_300, + Intrinsic_301, + Intrinsic_302, + Intrinsic_303, + Intrinsic_304, + Intrinsic_305, + Intrinsic_306, + Intrinsic_307, + Intrinsic_308, + Intrinsic_309, + Intrinsic_310, + MaxIntrinsics +} Intrinsics; + +extern Object *__memcpy_object; +extern int VectorConditions; // unused? + +extern int is_intrinsic_function_call(ENode *funccall); +extern ENode *Intrinsics_HandleIntrinsicCall(Object *func, ENodeList *args); +extern void call_intrinsic_function(ENode *funccall, short outputReg, Operand *output); +extern void Intrinsics_SetupRuntimeObjects(void); +extern Boolean Intrinsics_ReInitRuntimeObjects(Boolean flag); +extern Boolean Intrinsics_IsPublicRuntimeObject(Object *object); + #endif |