diff -r efc3f91dbe42 -r 3bf7c007883d src/BytecodeCompiler.cpp --- a/src/BytecodeCompiler.cpp Sun Aug 05 02:17:40 2012 -0700 +++ b/src/BytecodeCompiler.cpp Sun Aug 05 12:55:51 2012 -0700 @@ -874,6 +874,11 @@ expr->right()->accept(this); __ note_position(expr->pos()); __ arrayref_lifo(); + } else if (arg->isFieldExpression()) { + FieldExpression *expr = arg->toFieldExpression(); + expr->left()->accept(this); + __ note_position(expr->pos()); + __ fieldref_lifo(expr->fieldIndex()); } else { // We don't know how to, or can't, build a direct reference to // this type. Make an indirect one, by taking the top of the