jv_dragonfly.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 17 Jun 2016 17:25:15 +0100
changeset 26 8eb6716029aa
parent 25 bc02c8d447c3
child 27 73e7acbd16ff
permissions -rw-r--r--
Merge
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: 17
diff changeset
     1
"
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
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: 17
diff changeset
     3
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
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: 17
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: 17
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: 17
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: 17
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: 17
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: 17
diff changeset
    10
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
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: 17
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: 17
diff changeset
    13
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
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: 17
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: 17
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: 17
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: 17
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: 17
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: 17
diff changeset
    20
    SOFTWARE.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    21
"
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
"{ Package: 'jv:dragonfly' }"
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
"{ NameSpace: Smalltalk }"
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
LibraryDefinition subclass:#jv_dragonfly
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	instanceVariableNames:''
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	classVariableNames:''
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
	poolDictionaries:''
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
	category:'* Projects & Packages *'
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
23
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    33
!jv_dragonfly class methodsFor:'documentation'!
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    34
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    35
copyright
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    36
"
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    37
    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: 17
diff changeset
    38
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    39
    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: 17
diff changeset
    40
    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: 17
diff changeset
    41
    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: 17
diff changeset
    42
    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: 17
diff changeset
    43
    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: 17
diff changeset
    44
    furnished to do so, subject to the following conditions:
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    45
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    46
    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: 17
diff changeset
    47
    copies or substantial portions of the Software.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    48
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    49
    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: 17
diff changeset
    50
    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: 17
diff changeset
    51
    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: 17
diff changeset
    52
    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: 17
diff changeset
    53
    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: 17
diff changeset
    54
    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: 17
diff changeset
    55
    SOFTWARE.
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    56
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    57
"
d2d9a2d4d6bf Added README, licenses and copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    58
! !
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
!jv_dragonfly class methodsFor:'description'!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
10
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    62
excludedFromPreRequisites
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    63
    "list packages which are to be explicitely excluded from the automatic constructed
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    64
     prerequisites list. If empty, everything that is found along the inheritance of any of
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    65
     my classes is considered to be a prerequisite package."
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    66
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    67
    ^ #(
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    68
    )
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    69
!
588414eaacff Added CodeObjectSection>>size. Polished tests a bit.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    70
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
mandatoryPreRequisites
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "list packages which are mandatory as a prerequisite.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
     This are packages containing superclasses of my classes and classes which
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
     are extended by myself.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
     This method is generated automatically,
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
     by searching along the inheritance chain of all of my classes."
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ^ #(
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
        #'stx:libbasic'    "ArrayedCollection - superclass of CompiledCodeObjectSection"
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
    )
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
referencedPreRequisites
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    "list packages which are a prerequisite, because they contain
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
     classes which are referenced by my classes.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
     We do not need these packages as a prerequisite for compiling or loading,
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
     however, a class from it may be referenced during execution and having it
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
     unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
     includes explicit checks for the package being present.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
     This method is generated automatically,
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
     by searching all classes (and their packages) which are referenced by my classes."
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
    ^ #(
24
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
    95
        #'stx:goodies/sunit'    "TestAsserter - superclass of CompiledCodeObjectExamples"
13
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
    96
        #'stx:libcomp'    "ObjectFileLoader - referenced by VMData class>>initialize"
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
    )
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
subProjects
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    "list packages which are known as subprojects.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
     The generated makefile will enter those and make there as well.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
     However: they are not forced to be loaded when a package is loaded;
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
     for those, redefine requiredPrerequisites."
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
    ^ #(
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
        #'jv:dragonfly/udis86sx'
25
bc02c8d447c3 Do not build jv:dragonfly/c1 by default. Do build AsmJIT
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   108
        #'jv:dragonfly/asm'  
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
    )
17
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   110
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
   111
    "Modified: / 20-04-2016 / 21:16:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
! !
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
!jv_dragonfly class methodsFor:'description - contents'!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
classNamesAndAttributes
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
    "lists the classes which are to be included in the project.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
     Each entry in the list may be: a single class-name (symbol),
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
     or an array-literal consisting of class name and attributes.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
    ^ #(
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
        "<className> or (<className> attributes...) in load order"
24
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   124
        (CompiledCodeObjectExamples autoload)
9
40f9438e9de3 Updated after rename of section type to section format. Implemented section allocation routines.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2
diff changeset
   125
        CompiledCodeObjectSectionFormat
13
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   126
        VMOffsets
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
        #'jv_dragonfly'
24
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   128
        CompiledCodeObject
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
        CompiledCodeObjectSection
24
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   130
        (CompiledCodeObjectTests autoload)
13
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   131
        VMData
b3d0f59702b7 Added VMData and VMOffsets shared pools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 12
diff changeset
   132
        (ObjectFileLoaderTests autoload)
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
    )
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
extensionMethodNames
24
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   137
    "lists the extension methods which are to be included in the project.
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   138
     Entries are 2-element array literals, consisting of class-name and selector.
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   139
     A correponding method with real names must be present in my concrete subclasses
5aace704e3c8 Added some examples showing use of CompiledCodeObject
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 23
diff changeset
   140
     if it has extensions."
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
    ^ #(
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
        CompiledCode codeObject
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
        CompiledCode inspector2TabMachineCode
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
    )
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
! !
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
!jv_dragonfly class methodsFor:'documentation'!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
version_HG
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
    ^ '$Changeset: <not expanded> $'
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
! !
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153