VMData.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 15 Jun 2016 23:46:29 +0100
changeset 23 d2d9a2d4d6bf
parent 13 b3d0f59702b7
child 45 0904c2157ddf
permissions -rw-r--r--
Added README, licenses and copyright notices.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     1
"
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     2
    Copyright (c) 2016-now Jan Vrany <jan.vrany [at] fit . cvut . cz>
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     3
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     4
    Permission is hereby granted, free of charge, to any person obtaining a copy
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     5
    of this software and associated documentation files (the 'Software'), to deal
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     6
    in the Software without restriction, including without limitation the rights
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     7
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     8
    copies of the Software, and to permit persons to whom the Software is
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     9
    furnished to do so, subject to the following conditions:
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    10
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    11
    The above copyright notice and this permission notice shall be included in all
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    12
    copies or substantial portions of the Software.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    13
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    14
    THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    15
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    16
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    17
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    18
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    19
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    20
    SOFTWARE.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    21
"
13
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
"{ Package: 'jv:dragonfly' }"
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ NameSpace: Smalltalk }"
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
SharedPool subclass:#VMData
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	instanceVariableNames:''
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	classVariableNames:'ADDR___VMDATA__ ADDR___stackTop__ ADDR___newNextPtr__
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
		ADDR___newEndPtr__ ADDR___newSpace__ ADDR___thisContext ADDR_true
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
		ADDR_false ADDR_Float ADDR_SmallInteger ADDR_UndefinedObject
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
		ADDR_Context ADDR_BlockContext'
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
	poolDictionaries:'VMOffsets'
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
	category:'System-Compiler-Interface'
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
23
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    36
!VMData class methodsFor:'documentation'!
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    37
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    38
copyright
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    39
"
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    40
    Copyright (c) 2016-now Jan Vrany <jan.vrany [at] fit . cvut . cz>
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    41
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    42
    Permission is hereby granted, free of charge, to any person obtaining a copy
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    43
    of this software and associated documentation files (the 'Software'), to deal
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    44
    in the Software without restriction, including without limitation the rights
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    45
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    46
    copies of the Software, and to permit persons to whom the Software is
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    47
    furnished to do so, subject to the following conditions:
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    48
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    49
    The above copyright notice and this permission notice shall be included in all
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    50
    copies or substantial portions of the Software.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    51
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    52
    THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    53
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    54
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    55
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    56
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    57
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    58
    SOFTWARE.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    59
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    60
"
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    61
! !
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    62
13
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
!VMData class methodsFor:'class initialization'!
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
initialize
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    | base handle|
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    handle := ObjectFileLoader loadDynamicObject: nil.  
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    base := ObjectFileLoader getSymbol: '__vmDataPtr__' function: false from: handle.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    base := ExternalBytes address: base size: ExternalAddress pointerSize.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    ADDR___VMDATA__ := (base pointerAt: 1) address.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
    ADDR___stackTop__ := ADDR___VMDATA__ + OFFS___stackTop__.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    ADDR___newNextPtr__ := ADDR___VMDATA__ + OFFS___newNextPtr__.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    ADDR___newEndPtr__ := ADDR___VMDATA__ + OFFS___newEndPtr__.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    ADDR___newSpace__ := ADDR___VMDATA__ + OFFS___newSpace__ .
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ADDR___thisContext := ADDR___VMDATA__ + OFFS___thisContext .
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    ADDR_true := ADDR___VMDATA__ +  OFFS_true .
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ADDR_false := ADDR___VMDATA__ +  OFFS_false.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
    ADDR_Float := ADDR___VMDATA__ +  OFFS_Float .
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    ADDR_SmallInteger := ADDR___VMDATA__ + OFFS_SmallInteger .
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    ADDR_UndefinedObject := ADDR___VMDATA__ + OFFS_UndefinedObject .
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
    ADDR_Context := ADDR___VMDATA__ +  OFFS_Context.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    ADDR_BlockContext := ADDR___VMDATA__ + OFFS_BlockContext.
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    "Created: / 25-01-2016 / 14:45:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
! !
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
23
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    93
!VMData class methodsFor:'documentation'!
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    94
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    95
version_HG
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    96
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    97
    ^ '$Changeset: <not expanded> $'
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    98
! !
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    99
13
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
VMData initialize!