Commit graph

19 commits

Author SHA1 Message Date
Théophile Bastian 310a348bce Can generate PC holes in eh_elfs
Before, the space between FDEs was abstracted away, thought as dead
space that produced an error when queried. This is not the case, though:
empty FDEs indicate undefined DWARF
2018-07-04 18:14:30 +02:00
Théophile Bastian 235ba740dd Merge branch 'rbx' into lighter_c_rbx 2018-06-25 16:56:07 +02:00
Théophile Bastian a34bbd928a Add FactoredSwitchCompiler - great space gain 2018-06-25 16:32:52 +02:00
Théophile Bastian b9b66b9244 Refactor switch compiler factories 2018-06-25 11:54:45 +02:00
Théophile Bastian 6fef1c5444 Refactor switch generation 2018-06-25 11:33:36 +02:00
Théophile Bastian 12e749f542 Handle rbx 2018-06-22 09:15:10 +02:00
Théophile Bastian cd9ecafb4f Use flags in context structures 2018-06-22 09:12:32 +02:00
Théophile Bastian 81b3419690 Use max(uintptr_t) as error, not assert(0) 2018-06-13 19:13:33 +02:00
Théophile Bastian 7960b5ba08 Add and implement --enable-deref-arg feature 2018-06-01 19:52:41 +02:00
Théophile Bastian 6854eb56e4 [BREAKING CHANGE] Unwinding stops at the end
This introduces a breaking change: [undefined] was previously
represented by 0, and is now represented by
`numeric_limits<uintptr_t>::max()`
2018-05-16 16:51:01 +02:00
Théophile Bastian 52ea92dcf8 Fix various problems in PC list handling 2018-05-11 15:52:38 +02:00
Théophile Bastian 26d7b2afd5 Add C++ code to make use of .pc_list 2018-05-11 13:09:35 +02:00
Théophile Bastian 4b327c7c56 eh_elf generator: now also producing global switch 2018-05-02 14:58:48 +02:00
Théophile Bastian f00ec34b4e CodeGenerator: use hex for switches' bounds 2018-04-27 17:07:58 +02:00
Théophile Bastian 467cfbf0cc CodeGenerator: fix badly generated eh_elf 2018-04-27 17:07:34 +02:00
Théophile Bastian da38a9d521 Move _fde_func_t typedef to shared .h 2018-04-27 11:05:34 +02:00
Théophile Bastian 353a97c49d Refactor code generation: use shared/context_struct.h
This allows #include'ing `context_struct.h` in the stack walker
implementation as well
2018-04-25 18:11:59 +02:00
Théophile Bastian c07b0623e4 Add generation of a lookup function 2018-04-24 17:44:09 +02:00
Théophile Bastian 44543d85d3 Generate compilable C code, untested 2018-04-23 18:58:05 +02:00