PMVMatrix is very convenient for GLES2 application, unfortunately on embedded hardware glPushTransform becomes quite stressfull because it allocates a new float array on every call.
At least on android, this is detrimental because this gives more work to the GC, especially during tight rendering loops.
This could be rewritten with a fixed 16 or 8 levels (or configurable) stacks.
You are referring to glPushMatrix/glPopMatrix ?
If so .. I agree.
Do you like to make that [git] patch ?
Enhance PMVMatrix: Use FloatStack to implement PushMatrix and PopMatrix (Bug 657)
One FloatStack for each, MV, P and T, with initialialSize zero to save memore
and growSizes: MV = 16 arrays, P = 2 arrays, T = 2 arrays,
with array = 16 floats.
This shall save performance due to the preallocated stack when used
and growing only in the above mentioned grow intervals.
We may finetune the growSize, if required.