[vala/wip/effectfree: 25/44] codegen: Drop useless temp variable when accessing base methods
- From: Luca Bruno <lucabru src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/effectfree: 25/44] codegen: Drop useless temp variable when accessing base methods
- Date: Wed, 6 Jul 2011 21:13:09 +0000 (UTC)
commit c7ac26d25f596d30200be8c02a71627c2b2a9e0f
Author: Luca Bruno <lucabru src gnome org>
Date: Sat Jun 18 14:50:45 2011 +0200
codegen: Drop useless temp variable when accessing base methods
codegen/valaccodememberaccessmodule.vala | 12 +-----------
1 files changed, 1 insertions(+), 11 deletions(-)
---
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala
index f8be696..2f92b0f 100644
--- a/codegen/valaccodememberaccessmodule.vala
+++ b/codegen/valaccodememberaccessmodule.vala
@@ -67,19 +67,9 @@ public abstract class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
if (m.base_method != null) {
if (!method_has_wrapper (m.base_method)) {
- var inst = pub_inst;
- if (expr.inner != null && !expr.inner.is_pure ()) {
- // instance expression has side-effects
- // store in temp. variable
- var temp_var = get_temp_variable (expr.inner.value_type, true, null, false);
- emit_temp_var (temp_var);
- var ctemp = get_variable_cexpression (temp_var.name);
- inst = new CCodeAssignment (ctemp, pub_inst);
- set_cvalue (expr.inner, ctemp);
- }
var base_class = (Class) m.base_method.parent_symbol;
var vclass = new CCodeFunctionCall (new CCodeIdentifier ("%s_GET_CLASS".printf (base_class.get_upper_case_cname (null))));
- vclass.add_argument (inst);
+ vclass.add_argument (pub_inst);
set_cvalue (expr, new CCodeMemberAccess.pointer (vclass, m.name));
} else {
set_cvalue (expr, new CCodeIdentifier (m.base_method.get_cname ()));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]