Research Article
A Study of Lock-Free Based Concurrent Garbage Collectors for Multicore Platform
Procedure 2
CopyNormalObject procedure (barrier code for mutator).
//Modify ith field of the object | (1) newField.data:= newData | (2) newField.status:= 1 | (3) loop: | (4) oldField.data:= exObj.fileds].data | (5) oldField.status:= exObj.fileds[].status | (6) if CAS(&exObj.fields[], newField, oldField) != oldField then | (7) goto loop; //Retry until cas succeed |
|