jvm/c/hash_table.h
Zack Buhman 16eb6aa523 class_resolver: add constantpool-index-to-{class,method,field,string} cache
Object fields are now tightly packed. The intent is to make Object instances
more useful in native methods.
2024-12-25 21:09:15 -06:00

51 lines
1.8 KiB
C

#pragma once
#include <stdint.h>
struct hash_table_entry {
const uint8_t * key;
int key_length;
void * value;
struct hash_table_entry * next;
};
void hash_table_init(int hash_table_length,
struct hash_table_entry * entry);
void hash_table_add(int hash_table_length,
struct hash_table_entry * entry,
const uint8_t * key,
int key_length,
void * value);
struct hash_table_entry * hash_table_find(int hash_table_length,
struct hash_table_entry * entry,
const uint8_t * key,
int key_length);
void hash_table_add2(int hash_table_length,
struct hash_table_entry * entry,
const uint8_t * key1,
int key1_length,
const uint8_t * key2,
int key2_length,
void * value);
struct hash_table_entry * hash_table_find2(int hash_table_length,
struct hash_table_entry * entry,
const uint8_t * key1,
int key1_length,
const uint8_t * key2,
int key2_length);
/*
void hash_table_add_int(int hash_table_length,
struct hash_table_entry * entry,
int key,
void * value);
struct hash_table_entry * hash_table_find_int(int hash_table_length,
struct hash_table_entry * entry,
int key);
*/