source: release/1.9/source/lisp-kernel/imports.s @ 16083

Last change on this file since 16083 was 15191, checked in by gb, 7 years ago

Use a cast in the code that sets up errno_loc in the TCR.
Revive jvm_init(), since Apple's JVM still/again clobbers Mach exception
ports.

Add kernel-import info for jvm-init for all architectures. (The kernel
import table isn't architecture-specific, though some entries effectively
are.)

Tweak jni.lisp a bit; still needs lots of work.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.4 KB
Line 
1/*   Copyright (C) 2009 Clozure Associates */
2/*   Copyright (C) 1994-2001 Digitool, Inc */
3/*   This file is part of Clozure CL. */
4
5/*   Clozure CL is licensed under the terms of the Lisp Lesser GNU Public */
6/*   License , known as the LLGPL and distributed with Clozure CL as the */
7/*   file "LICENSE".  The LLGPL consists of a preamble and the LGPL, */
8/*   which is distributed with Clozure CL as the file "LGPL".  Where these */
9/*   conflict, the preamble takes precedence. */
10
11/*   Clozure CL is referenced in the preamble as the "LIBRARY." */
12
13/*   The LLGPL is also available online at */
14/*   http://opensource.franz.com/preamble.html */
15
16        include(m4macros.m4)
17define(`PTR',`
18        __ifdef(`PPC64')
19        .quad $1
20        __else
21         __ifdef(`X8664')
22         .quad $1
23         __else
24          .long $1
25         __endif
26        __endif
27')
28        _beginfile
29
30               
31        .globl C(import_ptrs_base)
32define(`defimport',`
33        .globl C($1)
34        PTR(C($1))
35               
36# __line__
37')
38        .data
39import_ptrs_start:
40
41        defimport(fd_setsize_bytes)
42        defimport(do_fd_set)
43        defimport(do_fd_clr)
44        defimport(do_fd_is_set)
45        defimport(do_fd_zero)
46        defimport(xMakeDataExecutable)
47        defimport(xGetSharedLibrary)
48        defimport(xFindSymbol)
49        defimport(lisp_malloc)
50        defimport(lisp_free)
51        defimport(wait_for_signal)
52        defimport(tcr_frame_ptr)
53        defimport(register_xmacptr_dispose_function)
54        defimport(open_debug_output)
55        defimport(get_r_debug)
56        defimport(restore_soft_stack_limit)
57        defimport(lisp_egc_control)
58        defimport(lisp_bug)
59        defimport(xNewThread)
60        defimport(cooperative_thread_startup)
61        defimport(xDisposeThread)
62        defimport(xThreadCurrentStackSpace)
63        defimport(usage_exit)
64        defimport(save_fp_context)
65        defimport(restore_fp_context)
66        defimport(put_vector_registers)
67        defimport(get_vector_registers)
68        defimport(new_semaphore)
69        defimport(wait_on_semaphore)
70        defimport(signal_semaphore)
71        defimport(destroy_semaphore)
72        defimport(new_recursive_lock)
73        defimport(lock_recursive_lock)
74        defimport(unlock_recursive_lock)
75        defimport(destroy_recursive_lock)
76        defimport(lisp_suspend_other_threads)
77        defimport(lisp_resume_other_threads)
78        defimport(lisp_suspend_tcr)
79        defimport(lisp_resume_tcr)
80        defimport(rwlock_new)
81        defimport(rwlock_destroy)
82        defimport(rwlock_rlock)
83        defimport(rwlock_wlock)
84        defimport(rwlock_unlock)
85        defimport(recursive_lock_trylock)
86        defimport(foreign_name_and_offset)
87        defimport(lisp_read)
88        defimport(lisp_write)
89        defimport(lisp_open)
90        defimport(lisp_fchmod)
91        defimport(lisp_lseek)
92        defimport(lisp_close)
93        defimport(lisp_ftruncate)
94        defimport(lisp_stat)
95        defimport(lisp_fstat)
96        defimport(lisp_futex)
97        defimport(lisp_opendir)
98        defimport(lisp_readdir)
99        defimport(lisp_closedir)
100        defimport(lisp_pipe)
101        defimport(lisp_gettimeofday)
102        defimport(lisp_sigexit)
103        defimport(jvm_init)
104   
105        .globl C(import_ptrs_base)
106C(import_ptrs_base):
107        PTR(import_ptrs_start)
108
109        __ifdef(`PPC')
110        __ifdef(`LINUX')
111        __ifndef(`PPC64')
112        .globl __trampoline_setup
113        .long  __trampoline_setup
114        __endif
115        __endif
116        __endif
117
118        /* Need to be sure that the kernel links against advapi32.dll ;
119           the random number generator needs to call into that library */
120        __ifdef(`WIN_64')
121        .globl C(SystemFunction036)
122        .long C(SystemFunction036)
123        __endif
124
125
126
127
128        _endfile
Note: See TracBrowser for help on using the repository browser.