author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 20 Jun 2016 09:38:10 +0100 | |
changeset 28 | 4bdee0ee3d83 |
parent 27 | 73e7acbd16ff |
child 33 | bec54ce61320 |
permissions | -rw-r--r-- |
27
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
Copyright (c) 2016-now Jan Vrany <jan.vrany [at] fit . cvut . cz> |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
of this software and associated documentation files (the 'Software'), to deal |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
in the Software without restriction, including without limitation the rights |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
copies of the Software, and to permit persons to whom the Software is |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
furnished to do so, subject to the following conditions: |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
The above copyright notice and this permission notice shall be included in all |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
copies or substantial portions of the Software. |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
SOFTWARE. |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
"{ Package: 'jv:dragonfly' }" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
"{ NameSpace: Smalltalk }" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
SharedPool subclass:#VMConstants |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
instanceVariableNames:'' |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
classVariableNames:'__NARG_SHIFT __NVAR_SHIFT __NTMP_SHIFT __NARG_MASK __NVAR_MASK |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
__NTMP_MASK __SPECIAL __ALLNONLAZY __LAZYMCON __LAZYBCON |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
__LAZYJCON __MASK_LAZY __NONLIFO __COMPRESSED __C_NARG_SHIFT |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
__C_NVAR_SHIFT __C_NTMP_SHIFT __C_NARG_MASK __C_NVAR_MASK |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
__C_NTMP_MASK __REGSUSED __REGSUSED2 __REGSUSED3 __HANDLE_MARK |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
__RAISE_MARK __METHOD_VALID__IRQ_ON_UNWIND __CANNOT_RETURN |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
__UNWIND_MARK' |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
poolDictionaries:'' |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
category:'System-Compiler-Interface' |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
! |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
!VMConstants class methodsFor:'documentation'! |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
copyright |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
Copyright (c) 2016-now Jan Vrany <jan.vrany [at] fit . cvut . cz> |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
Permission is hereby granted, free of charge, to any person obtaining a copy |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
of this software and associated documentation files (the 'Software'), to deal |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
in the Software without restriction, including without limitation the rights |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
copies of the Software, and to permit persons to whom the Software is |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
furnished to do so, subject to the following conditions: |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
The above copyright notice and this permission notice shall be included in all |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
copies or substantial portions of the Software. |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
SOFTWARE. |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
! ! |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
!VMConstants class methodsFor:'initialization'! |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
initialize |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
"Using inline C to make sure it matches definitions in stc.h" |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
%{ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
@global(VMConstants:__NARG_SHIFT) = __MKSMALLINT(__NARG_SHIFT); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
@global(VMConstants:__NVAR_SHIFT) = __MKSMALLINT(__NVAR_SHIFT); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
@global(VMConstants:__NTMP_SHIFT) = __MKSMALLINT(__NTMP_SHIFT); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
@global(VMConstants:__NARG_MASK) = __MKSMALLINT(__NARG_MASK); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
@global(VMConstants:__NVAR_MASK) = __MKSMALLINT(__NVAR_MASK); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
@global(VMConstants:__NTMP_MASK) = __MKSMALLINT(__NTMP_MASK); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
@global(VMConstants:__SPECIAL) = __MKSMALLINT(__SPECIAL); /* special handling at return required */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
@global(VMConstants:__ALLNONLAZY) = __MKSMALLINT(__ALLNONLAZY); /* all contexts above are non-lazy */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
@global(VMConstants:__LAZYMCON) = __MKSMALLINT(__LAZYMCON); /* method context is not valid (i.e. lazy) */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
@global(VMConstants:__LAZYBCON) = __MKSMALLINT(__LAZYBCON); /* block context is not valid (i.e. lazy) */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
@global(VMConstants:__LAZYJCON) = __MKSMALLINT(__LAZYJCON); /* java context is not valid (i.e. lazy) */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
@global(VMConstants:__MASK_LAZY) = __MKSMALLINT(__MASK_LAZY); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
@global(VMConstants:__NONLIFO) = __MKSMALLINT(__NONLIFO); /* context has reference taken */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
@global(VMConstants:__COMPRESSED) = __MKSMALLINT(__COMPRESSED); /* flag bits are compressed */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
@global(VMConstants:__C_NARG_SHIFT) = __MKSMALLINT(__C_NARG_SHIFT); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
@global(VMConstants:__C_NVAR_SHIFT) = __MKSMALLINT(__C_NVAR_SHIFT); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
@global(VMConstants:__C_NTMP_SHIFT) = __MKSMALLINT(__C_NTMP_SHIFT); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
@global(VMConstants:__C_NARG_MASK) = __MKSMALLINT(__C_NARG_MASK); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
@global(VMConstants:__C_NVAR_MASK) = __MKSMALLINT(__C_NVAR_MASK); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
@global(VMConstants:__C_NTMP_MASK) = __MKSMALLINT(__C_NTMP_MASK); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
@global(VMConstants:__REGSUSED) = __MKSMALLINT(__REGSUSED); /* used with sparc only - marks register usage (context-locals in registers) */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
@global(VMConstants:__REGSUSED2) = __MKSMALLINT(__REGSUSED2); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
@global(VMConstants:__REGSUSED3) = __MKSMALLINT(__REGSUSED3); |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
@global(VMConstants:__HANDLE_MARK) = __MKSMALLINT(__HANDLE_MARK); /* this is an exception-handle context */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
@global(VMConstants:__RAISE_MARK) = __MKSMALLINT(__RAISE_MARK); /* this is an exception-raise context */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
@global(VMConstants:__METHOD_VALID) = __MKSMALLINT(__METHOD_VALID); /* marks a valid value in the c_method slot (nil or a method ref) */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
@global(VMConstants:__IRQ_ON_UNWIND) = __MKSMALLINT(__IRQ_ON_UNWIND);/* interrupt on unwind */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
@global(VMConstants:__CANNOT_RETURN) = __MKSMALLINT(__CANNOT_RETURN);/* context did not safe machine state - no return/restart */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
@global(VMConstants:__UNWIND_MARK) = __MKSMALLINT(__UNWIND_MARK); /* special action on unwind req'd */ |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
%}. |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
! ! |
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
|
73e7acbd16ff
Simple method prologue / epilogue implementation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
VMConstants initialize! |