Reviewers: Kevin Millikin, Description: Fix reintroduction of global variables that have been deleted.
Deletion of global properties puts 'the hole' in the global property cell and updates the property details in the property dictionary with the information that the property has been deleted. When setting global properties that have been deleted in generated code we just store the new value in the global property cell. This does not update the property details in the property dictionary. Therefore, it looks like the property is not there eventhough it was just reintroduced. Perform 'the hole' checks in generated code for global property stores and bail out of ICs and optimized code if storing to a property cell that contains 'the hole'. Please review this at http://codereview.chromium.org/6306014/ SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge Affected files: M src/arm/lithium-arm.h M src/arm/lithium-arm.cc M src/arm/lithium-codegen-arm.cc M src/arm/stub-cache-arm.cc M src/ia32/lithium-codegen-ia32.cc M src/ia32/lithium-ia32.cc M src/ia32/stub-cache-ia32.cc M src/objects-inl.h M src/x64/stub-cache-x64.cc M test/mjsunit/delete-global-properties.js -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
