extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 20 Jun 2016 09:38:10 +0100
changeset 28 4bdee0ee3d83
parent 2 88445baa732f
child 43 ed4fcb347f0f
permissions -rw-r--r--
Initial support for literals
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ 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
     2
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
!CompiledCode methodsFor:'accessing'!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
codeObject
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
    "Return the CompiledCodeObject for this compiled code. Throw an exception
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
     if the method is not yet compiled or is not dynamically compiled (i.e, 
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
     if it's statically compiled)"
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
    self isDynamic ifTrue:[ 
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
        ^ CompiledCodeObject forCompiledCode: self
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
    ].
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
    self error: 'Not a dynamic code'
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    "Created: / 05-12-2015 / 23:44:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
! !
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
!CompiledCode methodsFor:'inspecting'!
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
inspector2TabMachineCode
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    <inspector2Tab>
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    self isDynamic ifTrue:[
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
        | codeObject tab |
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
        codeObject :=self codeObject.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
        codeObject notNil ifTrue:[ 
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
            tab := codeObject inspector2TabText.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
            tab notNil ifTrue:[ 
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
                tab label: 'Machine Code'.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
                tab priority: 10.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
                ^ tab.
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
            ].                    
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
        ].
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    ].
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    ^ nil
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    "Created: / 14-12-2015 / 22:05:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
! !
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
!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
    42
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
extensionsVersion_HG
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
88445baa732f Introduced a CompiledCodeObject - an interface to VM's macine code management.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    ^ '$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
    46
! !