jak-project/goalc/emitter/ObjectFileData.cpp
water111 d56540f8c0
Add lambda and static objects (#30)
* add some more tests for let

* support static strings

* add function calling

* add prints for windows debgu

* one test only

* try swapping r14 and r15 in windows

* swap back

* disable defun for now

* fix massive bug

* fix formatting
2020-09-12 13:11:42 -04:00

25 lines
737 B
C++

#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());
// printf("seg %d data\n", seg);
// for (auto x : segment_data[seg]) {
// printf("%02x ", x);
// }
// printf("\n");
}
return result;
}
} // namespace emitter