jitcraft/Types.cpp
changeset 68 b40b0e18a918
parent 67 b765a6383849
child 69 dfce0539a77d
     1.1 --- a/jitcraft/Types.cpp	Mon Jul 09 22:25:52 2012 -0700
     1.2 +++ b/jitcraft/Types.cpp	Tue Jul 10 02:11:13 2012 -0700
     1.3 @@ -111,6 +111,21 @@
     1.4      return type;
     1.5  }
     1.6  
     1.7 +Type *
     1.8 +Type::NewNative(Zone *zone, Handle<Type> returnType, Handle<FixedArray> parameters, bool variadic)
     1.9 +{
    1.10 +    Local<Type> type(zone, Type::cast(zone->allocate(MapKind_Type, sizeof(Type), Heap::Tenure_Old)));
    1.11 +    if (!type)
    1.12 +        return NULL;
    1.13 +
    1.14 +    type->kind_ = NATIVE;
    1.15 +    type->contained_ = NULL;
    1.16 +    type->returnType_ = returnType;
    1.17 +    type->parameters_ = parameters;
    1.18 +    type->variadicNative_ = variadic;
    1.19 +    return type;
    1.20 +}
    1.21 +
    1.22  bool
    1.23  Type::Compare(Type *left, Type *right)
    1.24  {