安卓11,在skia/src/ops/GrorvalOpFactory.cpp中崩溃,帮我看看原因



https://github.com/google/skia/blob/master/src/gpu/ops/GrOvalOpFactory.cpp

cras在此功能中

this->setVertexAttributes(&fInPosition, 7);

跟踪定位后,问题是fInPosition的下一个指针位置不是合法的Attribute,这意味着

Attribute fInPosition;
Attribute fInColor;
Attribute fInCircleEdge;
// Optional attributes.
Attribute fInClipPlane;
Attribute fInIsectPlane;
Attribute fInUnionPlane;
Attribute fInRoundCapCenters;

这些属性不会分配给连续内存。

但我在上面的代码中添加了一行日志打印,崩溃就消失了。在检查了汇编代码后,我发现打印日志会改变编译方法。我想问一下安卓11编译引起了什么变化

这个问题解决了。由于不正确的PGO将函数输入参数的数据复制到其他寄存器,因此存储器未连接。

最新更新