some refactorings, analyzer global var publics fix, include publics into merged bytefile

This commit is contained in:
ProgramSnail 2025-05-11 12:34:13 +03:00
parent 1f42c9ff4b
commit b1ab8ee4b3
8 changed files with 73 additions and 141 deletions

View file

@ -54,6 +54,12 @@ static inline size_t get_public_name_offset_unsafe(const Bytefile *bf,
return bf->public_ptr[i * 2];
}
/* Sets a name offset for a public symbol */
static inline void set_public_name_offset_unsafe(size_t offset,
const Bytefile *bf, size_t i) {
bf->public_ptr[i * 2] = offset;
}
/* Gets a name for a public symbol */
static inline const char *get_public_name_unsafe(const Bytefile *bf, size_t i) {
return get_string_unsafe(bf, get_public_name_offset_unsafe(bf, i));
@ -64,6 +70,12 @@ static inline size_t get_public_offset_unsafe(const Bytefile *bf, size_t i) {
return bf->public_ptr[i * 2 + 1];
}
/* Sets an offset for a publie symbol */
static inline void set_public_offset_unsafe(size_t offset, const Bytefile *bf,
size_t i) {
bf->public_ptr[i * 2 + 1] = offset;
}
// read from ip
static inline void ip_write_int_unsafe(char *ip, int32_t x) {