[svn:parrot] r37921 - trunk/compilers/imcc
petdance at svn.parrot.org
petdance at svn.parrot.org
Mon Apr 6 05:20:12 UTC 2009
Author: petdance
Date: Mon Apr 6 05:20:11 2009
New Revision: 37921
URL: https://trac.parrot.org/parrot/changeset/37921
Log:
hoisted some convoluted dereferences
Modified:
trunk/compilers/imcc/pbc.c
Modified: trunk/compilers/imcc/pbc.c
==============================================================================
--- trunk/compilers/imcc/pbc.c Mon Apr 6 03:52:29 2009 (r37920)
+++ trunk/compilers/imcc/pbc.c Mon Apr 6 05:20:11 2009 (r37921)
@@ -386,9 +386,10 @@
{
ASSERT_ARGS(add_const_table_pmc)
const int newitem = add_const_table(interp);
+ PackFile_Constant * const constant = interp->code->const_table->constants[newitem];
- interp->code->const_table->constants[newitem]->type = PFC_PMC;
- interp->code->const_table->constants[newitem]->u.key = pmc;
+ constant->type = PFC_PMC;
+ constant->u.key = pmc;
return newitem;
}
@@ -409,9 +410,10 @@
{
ASSERT_ARGS(add_const_table_key)
const int newitem = add_const_table(interp);
+ PackFile_Constant * const constant = interp->code->const_table->constants[newitem];
- interp->code->const_table->constants[newitem]->type = PFC_KEY;
- interp->code->const_table->constants[newitem]->u.key = key;
+ constant->type = PFC_KEY;
+ constant->u.key = key;
return newitem;
}
@@ -1054,9 +1056,11 @@
ASSERT_ARGS(add_const_str)
const int k = add_const_table(interp);
STRING * const s = IMCC_string_from_reg(interp, r);
+ PackFile_Constant * const constant = interp->code->const_table->constants[k];
+
+ constant->type = PFC_STRING;
+ constant->u.string = s;
- interp->code->const_table->constants[k]->type = PFC_STRING;
- interp->code->const_table->constants[k]->u.string = s;
return k;
}
@@ -1124,8 +1128,8 @@
r = pcc_sub->multi[i];
if (r->set == 'S') {
- STRING *type_name = ct->constants[r->color]->u.string;
- INTVAL type_num = pmc_type(interp, type_name);
+ STRING * const type_name = ct->constants[r->color]->u.string;
+ const INTVAL type_num = pmc_type(interp, type_name);
if (type_num == enum_type_undef) {
sig_pmc = pmc_new(interp, enum_class_String);
@@ -1795,7 +1799,7 @@
make_pmc_const(PARROT_INTERP, ARGMOD(SymReg *r))
{
ASSERT_ARGS(make_pmc_const)
- PMC *_class = interp->vtables[r->pmc_type]->pmc_class;
+ PMC * const _class = interp->vtables[r->pmc_type]->pmc_class;
STRING *s;
PMC *p;
More information about the parrot-commits
mailing list