Feature #17

Implement Exception Handling

Added by Phil Garcia over 1 year ago. Updated 6 months ago.

Status:New Start date:07/12/2011
Priority:High Due date:
Assignee:Phil Garcia % Done:

67%

Category:Compiler Spent time: -
Target version:1.1

Subtasks

Task #34: Create Method Lookup TableClosedSimon Wollwage

Task #35: Create Method Description EntriesClosedSimon Wollwage

Feature #36: Handle Divide by Zero CPU InterruptNewPhil Garcia


Related issues

follows MOSA - Bug #22: Create proper basic blocks for each item in the clause Closed 01/17/2011

History

Updated by Phil Garcia about 1 year ago

  • Assignee changed from Michael Fröhlich to Simon Wollwage

Updated by Phil Garcia 7 months ago

Here's optimized X86 code for searching the (unsorted) method mapping table:

Input:
EAX = method mapping table
ECX = program counter

Output:
EAX = Result

Code:
    test    eax, eax
    je    L003
L001:
    cmp    ecx, [eax]
    jb    L002
    cmp    ecx, [eax+4]
    jb    L004
L002:
    add    eax, 12
    jne    L001
L003:
    xor    eax, eax
    ret    
L004:
    mov    eax, [eax+8]
    ret    

Updated by Phil Garcia 6 months ago

  • Assignee changed from Simon Wollwage to Phil Garcia

Try/Finally clauses are now implemented and passing a few unit tests. Next is try/exception clauses, throw implementation, and many more unit tests.

Updated by Phil Garcia 6 months ago

  • Target version changed from 1.0 to 1.1

Also available in: Atom PDF