Better lowering of distinct types. Noreturn function call expr recognized as a "jump" for escape analysis. Preferring "def" in libs. To upper / to lower for ascii. Initial dynlib support.

This commit is contained in:
Christoffer Lerno
2023-05-21 21:25:33 +02:00
committed by Christoffer Lerno
parent a877d4458c
commit ddd0497922
55 changed files with 579 additions and 416 deletions

View File

@@ -4,7 +4,7 @@
module std::collections::list<Type>;
import std::math;
typedef ElementPredicate = fn bool(Type *type);
def ElementPredicate = fn bool(Type *type);
struct List
{

View File

@@ -472,7 +472,7 @@ fn Object* Object.get_or_create_obj(Object* o, String key)
return container;
}
typedef ObjectInternalMap @private = HashMap<String, Object*>;
typedef ObjectInternalList @private = List<Object*>;
typedef ObjectInternalMapEntry @private = Entry<String, Object*>;
def ObjectInternalMap @private = HashMap<String, Object*>;
def ObjectInternalList @private = List<Object*>;
def ObjectInternalMapEntry @private = Entry<String, Object*>;

View File

@@ -23,7 +23,7 @@
module std::collections::priorityqueue<Type>;
import std::collections::list;
typedef Heap = List<Type>;
def Heap = List<Type>;
struct PriorityQueue
{