X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fir_variable_refcount.h;h=c15e8110d04a98bc6b0f0d1eba20faa5f55c496a;hb=05e7f7f4388bde882b7ce74124000a4d435affff;hp=906135a9e1e370ad2d7bf64c65e864ccb58ec221;hpb=b922a0ce12916a91cfc3e56714913fcf63279ff2;p=mesa.git diff --git a/src/glsl/ir_variable_refcount.h b/src/glsl/ir_variable_refcount.h index 906135a9e1e..c15e8110d04 100644 --- a/src/glsl/ir_variable_refcount.h +++ b/src/glsl/ir_variable_refcount.h @@ -33,10 +33,10 @@ #include "ir_visitor.h" #include "glsl_types.h" -class variable_entry : public exec_node +class ir_variable_refcount_entry { public: - variable_entry(ir_variable *var); + ir_variable_refcount_entry(ir_variable *var); ir_variable *var; /* The key: the variable's pointer. */ ir_assignment *assign; /* An assignment to the variable, if any */ @@ -52,16 +52,8 @@ public: class ir_variable_refcount_visitor : public ir_hierarchical_visitor { public: - ir_variable_refcount_visitor(void) - { - this->mem_ctx = ralloc_context(NULL); - this->variable_list.make_empty(); - } - - ~ir_variable_refcount_visitor(void) - { - ralloc_free(this->mem_ctx); - } + ir_variable_refcount_visitor(void); + ~ir_variable_refcount_visitor(void); virtual ir_visitor_status visit(ir_variable *); virtual ir_visitor_status visit(ir_dereference_variable *); @@ -69,10 +61,9 @@ public: virtual ir_visitor_status visit_enter(ir_function_signature *); virtual ir_visitor_status visit_leave(ir_assignment *); - variable_entry *get_variable_entry(ir_variable *var); + ir_variable_refcount_entry *get_variable_entry(ir_variable *var); - /* List of variable_entry */ - exec_list variable_list; + struct hash_table *ht; void *mem_ctx; };