search for: issubclass

Displaying 9 results from an estimated 9 matches for "issubclass".

2011 Jun 21
2
[LLVMdev] Register class proliferation
...ctored most of that away by now, though. I can't think of any super-linear algorithms remaining except for getCommonSubClass() which could easily be fixed. I've never seen it show up on a Shark trace, though. If we give each register class a bit vector of sub-classes, the currently linear isSubClass() / isSuperClass() would become constant time, and getCommonSubClass() could be made linear with CountTrailingZeros(A and B). Yes, those bit vectors would require N^2 space, but the constant factor is 1 bit, so I don't care. I am not adding that many register classes. /jakob
2009 May 26
0
[LLVMdev] Exception Personality Function
...he code LLVM-specific - for example, I only included decoding functions for those encodings that are actually emitted by LLVM. The personality function uses type descriptors from my language (Tart) rather than C++ std::type_info objects, and tests the exception type using my language's own isSubclass() method. This can serve as an example for how to use exceptions for languages that are different from C++. To invoke the personality function and have it catch an exception, the IR that you generate should look like the following: try: ;; Throw some exception invoke { } @"throwSomethi...
2011 Jun 21
0
[LLVMdev] Register class proliferation
On Jun 21, 2011, at 8:51 AM, Jakob Stoklund Olesen wrote: > In the past, I've seen some pushback on the list against adding more register classes. You can see it in the code as well, TargetLowering::getRegClassForInlineAsmConstraint() returns a vector of registers instead of a real register class. > > What is the reason we don't like adding register classes? Is it still a valid
2011 Jun 21
2
[LLVMdev] Register class proliferation
In the past, I've seen some pushback on the list against adding more register classes. You can see it in the code as well, TargetLowering::getRegClassForInlineAsmConstraint() returns a vector of registers instead of a real register class. What is the reason we don't like adding register classes? Is it still a valid reason? The new register allocators, fast and greedy, don't care at
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
...ve my own personality function (which can be viewed here: http://code.google.com/p/tart/source/browse/trunk/runtime/lib/tart_eh_personality.c) My compiler generates the list of filter parameters as pointers to Type objects. In the personality function, it examines each such pointer and does an IsSubclass test. The action code returned by the personality function is a simple integer index (0, 1, 2, ...etc) which represents the number of the catch block to transfer control to. This index is then fed into a IR switch instruction in the landing pad. The concern I have is that the 'convoke'...
2010 Aug 27
3
[PATCH 0 of 3] libxl: cleanups for type destructor generation
Following series cleans up a few niggles in the libxl destructor autogeneration. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2011 Jun 22
0
[LLVMdev] Register class proliferation
...away by now, though. > > I can't think of any super-linear algorithms remaining except for getCommonSubClass() which could easily be fixed. I've never seen it show up on a Shark trace, though. > > If we give each register class a bit vector of sub-classes, the currently linear isSubClass() / isSuperClass() would become constant time, and getCommonSubClass() could be made linear with CountTrailingZeros(A and B). > > Yes, those bit vectors would require N^2 space, but the constant factor is 1 bit, so I don't care. I am not adding that many register classes. We should mak...
2009 Nov 18
11
[LLVMdev] RFC: New Exception Handling Proposal
I've been looking into a new way to implement exception handling in LLVM. The current model has many disadvantages, in my opinion. I try to address them with this proposal. I also try to make exception handling much more understandable to the normal human reader. :-) Any new proposal will need to address all present and future languages' exception handling methodologies. I
2010 Aug 18
16
[PATCH 00 of 16] libxl: autogenerate type definitions and destructor functions
The series introduces auto-generation of the type definitions used in the libxl interface followed by auto-generation of a destructor function for each type. In the future it may be possible to use the related data structures for other purposes, for example auto-generation of the functions to marshal between C and language binding data types. tools/_libxl_types.h should be identical both before