• svenpanne@chromium.org's avatar
    Make setting of accessors even more atomic. · 4cb60096
    svenpanne@chromium.org authored
    Now the whole getter/setter/attributes triple gets created/set together,
    avoiding any hacks regarding previous values/attributes, making things a lot
    simpler.
    
    While doing this, an interesting problem surfaced, which has been there for a
    long time: After adding/changing acessors in slow mode, we could potentially
    fail going back to fast mode because of a failed memory allocation, signaling
    the need for a GC. But we have already changed the object in slow mode, so we
    are not idempotent and the retry would trigger a newly inserted assertion
    (namely, that the code obeys access restrictions). This has been solved by
    splitting the transformation to fast mode from the actual setting of the
    accessors.
    
    Review URL: https://chromiumcodereview.appspot.com/9716035
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    4cb60096
api.cc 211 KB