jitcraft/BytecodeCompiler.cpp
changeset 17 8aa89dd41e25
parent 16 23627f8bc421
child 19 c685db6c98e6
     1.1 --- a/jitcraft/BytecodeCompiler.cpp	Sat Jun 30 22:45:25 2012 -0700
     1.2 +++ b/jitcraft/BytecodeCompiler.cpp	Sat Jun 30 23:40:17 2012 -0700
     1.3 @@ -447,6 +447,12 @@
     1.4                  // Compute a reference to the name.
     1.5                  Variable *var = arg->toNameProxy()->binding()->toVariable();
     1.6                  __ newref(var);
     1.7 +            } else if (arg->isIndexExpression()) {
     1.8 +                IndexExpression *expr = arg->toIndexExpression();
     1.9 +                expr->left()->accept(this);
    1.10 +                expr->right()->accept(this);
    1.11 +                __ bounds_sta();
    1.12 +                __ arrayref_lifo();
    1.13              } else {
    1.14                  // We don't know how to, or can't, build a direct reference to
    1.15                  // this type. Make an indirect one, by taking the top of the