Skip to content

Phase 3: Py_CHECKWRITE -> write barrier todo list #10

@xFrednet

Description

@xFrednet

An extract of all Py_CHECKWRITE() calls which need to be adjusted for the write barrier. (From the phase3 branch)

Objects/abstract.c (owner @TobiasWrigstad)

  • Line 224: if(!Py_CHECKWRITE(o)){
  • Line 236: if(!Py_CHECKWRITE(o)){
  • Line 268: if(!Py_CHECKWRITE(o)){
  • Line 280: if(!Py_CHECKWRITE(o)){
  • Line 395: if(!Py_CHECKWRITE(obj)){
  • Line 429: if((flags & PyBUF_WRITABLE) && !Py_CHECKWRITE(obj)){
  • Line 1224: if(!Py_CHECKWRITE(v)){
  • Line 1270: if(!Py_CHECKWRITE(v)){
  • Line 1861: if(!Py_CHECKWRITE(s)){
  • Line 1894: if (!Py_CHECKWRITE(o)){
  • Line 1985: if (!Py_CHECKWRITE(s)){
  • Line 2023: if(!Py_CHECKWRITE(s)){
  • Line 2061: if (!Py_CHECKWRITE(s)){
  • Line 2089: if(!Py_CHECKWRITE(s)){

Python/generated_cases.c.h

  • Line 1923: if (!Py_CHECKWRITE(cell)){
  • Line 1999: if(!Py_CHECKWRITE(cell)){
  • Line 2723: if (!Py_CHECKWRITE(owner))
  • Line 2759: if (!Py_CHECKWRITE(owner))
  • Line 2818: if (!Py_CHECKWRITE(owner))

Objects/setobject.c

  • Line 637: if(!Py_CHECKWRITE(so)){
  • Line 936: if(!Py_CHECKWRITE(so)){
  • Line 1118: if(!Py_CHECKWRITE(so)){
  • Line 1845: if(!Py_CHECKWRITE(so)){
  • Line 1898: if(!Py_CHECKWRITE(so)){
  • Line 1934: if(!Py_CHECKWRITE(so)){
  • Line 2319: if(!Py_CHECKWRITE(set)){
  • Line 2345: if(!Py_CHECKWRITE(set)){
  • Line 2362: if(!Py_CHECKWRITE(anyset)){

Objects/listobject.c

  • Line 270: if(!Py_CHECKWRITE(op)){
  • Line 323: if (!Py_CHECKWRITE(op)){
  • Line 348: if (!Py_CHECKWRITE(op)){
  • Line 754: if(!Py_CHECKWRITE(a)){
  • Line 821: if (!Py_CHECKWRITE(self)){
  • Line 840: if (!Py_CHECKWRITE(self)){
  • Line 874: if (!Py_CHECKWRITE(self)){
  • Line 904: if(!Py_CHECKWRITE(self)){
  • Line 1058: if(!Py_CHECKWRITE(self)){
  • Line 2311: if (!Py_CHECKWRITE(self)){
  • Line 2588: if (!Py_CHECKWRITE(self)){
  • Line 2607: if (!Py_CHECKWRITE(v)){
  • Line 2740: if (!Py_CHECKWRITE(self)){

Objects/dictobject.c (@mjp41 owner)

  • Line 1241: if (!Py_CHECKWRITE(mp)){
  • Line 1359: if (!Py_CHECKWRITE(mp)){
  • Line 2088: if(!Py_CHECKWRITE(op)){
  • Line 2156: if(!Py_CHECKWRITE(op)){
  • Line 2799: if(!Py_CHECKWRITE(self)){
  • Line 3399: if(!Py_CHECKWRITE(d)){
  • Line 3510: if(!Py_CHECKWRITE(mp)){
  • Line 3535: if(!Py_CHECKWRITE(self)){
  • Line 3560: if(!Py_CHECKWRITE(self)){
  • Line 5553: if(!Py_CHECKWRITE(obj)){

Objects/object.c (@TobiasWrigstad owner -- see #26)

  • Line 1176: if(Py_CHECKWRITE(v)){
  • Line 1193: if(Py_CHECKWRITE(v)){
  • Line 1639: if(!Py_CHECKWRITE(obj)){

Objects/tupleobject.c (@TobiasWrigstad owner -- see #46)

  • Line 121: if (!Py_CHECKWRITE(op)){

Objects/cellobject.c (@xFrednet owner)

  • Line 71: (!Py_CHECKWRITE(op)){
  • Line 131: if(!Py_CHECKWRITE(op)){
  • Line 154: if(!Py_CHECKWRITE(op)){

Python/bytecodes.c (@xFrednet owner)

  • Line 1414: if (!Py_CHECKWRITE(cell)){
  • Line 1474: if(!Py_CHECKWRITE(cell)){
  • Line 1969: if (!Py_CHECKWRITE(owner))
  • Line 1996: if (!Py_CHECKWRITE(owner))
  • Line 2046: if (!Py_CHECKWRITE(owner))

Include/cpython/listobject.h

  • Line 43: if (_Py_IsImmutable(op)){ // _Py_CHECKWRITE(op) is not available

cc: @mjp41 @TobiasWrigstad

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions