c1/DragonFly__C1LLVMMTypes.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 12 Feb 2016 11:51:14 +0000
changeset 17 54798ae989cc
child 23 d2d9a2d4d6bf
permissions -rw-r--r--
Initial work on LLVM-based C1 compiler
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:dragonfly/c1' }"
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: DragonFly }"
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
SharedPool subclass:#C1LLVMMTypes
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:'TyInstance TyInstanceFieldIndexClass TyInstanceFieldIndexSize
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
		TyInstanceFieldIndexSpace TyInstanceFieldIndexFlags
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
		TyInstanceFieldIndexAge TyInstanceFieldIndexHashLow TyOBJ
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
		TyInlineCache TyInlineCacheIndexFunc TyInlineCacheIndexClass
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
		TyInlineCacheIndexLineNo TyInlineCachePtr TyOBJFUNC TyOBJFUNCs'
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
	poolDictionaries:''
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
	category:'DragonFly-C1'
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
!
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
!C1LLVMMTypes class methodsFor:'initialization'!
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
initialize
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    "Invoked at system start or when the class is dynamically loaded."
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "/ please change as required (and remove this comment)
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    TyInstance := LLVMType named: '__instance'.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    TyOBJ := TyInstance pointer.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    TyInstance elementTypes: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
        TyOBJ.                      "/ o_class
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
        LLVMType int32.             "/ o_size
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
        LLVMType int8.              "/ o_space
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
        LLVMType int8.              "/ o_flags
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
        LLVMType int8.              "/ o_age
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
        LLVMType int8.              "/ o_hashLow
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    }.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    TyInstanceFieldIndexClass := 0.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    TyInstanceFieldIndexSize := 1.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    TyInstanceFieldIndexSpace := 2.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    TyInstanceFieldIndexFlags := 3.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    TyInstanceFieldIndexAge := 4.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    TyInstanceFieldIndexHashLow := 5.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    TyInlineCache := LLVMType named: 'inlineCache'.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    TyInlineCachePtr := TyInlineCache pointer.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    TyOBJFUNC := LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
        TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
        TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
        TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
        TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    } varargs: true returning: TyOBJ.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    TyInlineCache elementTypes: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
        TyOBJFUNC pointer .         "/ ilc_func
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
        TyOBJ.                      "/ ilc_class
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
        TyInlineCachePtr .          "/ ilc_link
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
        TyOBJ .                     "/ ilc_lineNo
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
        LLVMType char pointer .     "/ ilc_poly
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    }.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    TyInlineCacheIndexFunc := 0.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
    TyInlineCacheIndexClass := 1.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    TyInlineCacheIndexLineNo := 3.
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    TyOBJFUNCs := {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
        "/ 0 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
        "/ 1 args 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
            TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
        "/ 2 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
            TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
        "/ 3 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
            TyOBJ . TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
        "/ 4 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
            TyOBJ . TyOBJ . TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
        "/ 5 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
        "/ 6 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   116
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
        "/ 7 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   120
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   123
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   124
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   125
        "/ 8 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   126
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   127
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   128
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   129
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   131
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   132
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   133
        "/ 9 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   134
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   137
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   138
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   139
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   140
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   141
        "/ 10 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   142
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   143
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   145
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   146
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   147
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   149
        "/ 11 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   150
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   151
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   152
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   153
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   154
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   155
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   156
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   157
        "/ 12 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   158
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   159
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
        "/ 13 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   167
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   168
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
        "/ 14 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   175
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
        "/ 16 args
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
        LLVMType function: {
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
            TyOBJ.                      "/ self
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
            TyOBJ.                      "/ selector
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
            TyOBJ.                      "/ searchClass or nil
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
            TyInlineCachePtr .          "/ pIlc
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
            TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . TyOBJ . 
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
        } returning: TyOBJ .
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
    }
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   190
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    "Modified: / 20-04-2016 / 19:57:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
! !
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   193
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
!C1LLVMMTypes class methodsFor:'documentation'!
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
version_HG
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   197
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    ^ '$Changeset: <not expanded> $'
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   199
! !
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
! !
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
54798ae989cc Initial work on LLVM-based C1 compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
C1LLVMMTypes initialize!