mirror of
https://github.com/open-goal/jak-project
synced 2026-07-08 14:36:52 -04:00
Add ObjectGenerator and Register Allocator (#10)
* start the ObjectFileGenerator * finish v3 generation * add analysis for register allocator * add register allocator * fix const * fix build * fix formatting for clang-format * attempt to fix windows build * windows 2 * windows 3 * windows 4 * windows 5 * windows 6
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
#include "ObjectFileData.h"
|
||||
|
||||
namespace emitter {
|
||||
std::vector<u8> ObjectFileData::to_vector() const {
|
||||
std::vector<uint8_t> result;
|
||||
// header
|
||||
result.insert(result.end(), header.begin(), header.end());
|
||||
|
||||
// link tables
|
||||
for (int seg = N_SEG; seg-- > 0;) {
|
||||
result.insert(result.end(), link_tables[seg].begin(), link_tables[seg].end());
|
||||
}
|
||||
|
||||
// data (code + static objects, by segment)
|
||||
for (int seg = N_SEG; seg-- > 0;) {
|
||||
result.insert(result.end(), segment_data[seg].begin(), segment_data[seg].end());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
} // namespace emitter
|
||||
Reference in New Issue
Block a user