Only extend storage if FIELD
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/16818014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
8bc9d98786
commit
1d5cdf215d
@ -547,7 +547,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
ASSERT(object->IsJSGlobalProxy() || !object->IsAccessCheckNeeded());
|
||||
|
||||
// Perform map transition for the receiver if necessary.
|
||||
if (object->map()->unused_property_fields() == 0) {
|
||||
if (details.type() == FIELD &&
|
||||
object->map()->unused_property_fields() == 0) {
|
||||
// The properties must be extended before we can store the value.
|
||||
// We jump to a runtime call that extends the properties array.
|
||||
__ push(receiver_reg);
|
||||
|
@ -890,7 +890,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
ASSERT(object->IsJSGlobalProxy() || !object->IsAccessCheckNeeded());
|
||||
|
||||
// Perform map transition for the receiver if necessary.
|
||||
if (object->map()->unused_property_fields() == 0) {
|
||||
if (details.type() == FIELD &&
|
||||
object->map()->unused_property_fields() == 0) {
|
||||
// The properties must be extended before we can store the value.
|
||||
// We jump to a runtime call that extends the properties array.
|
||||
__ pop(scratch1); // Return address.
|
||||
|
@ -850,7 +850,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
|
||||
ASSERT(object->IsJSGlobalProxy() || !object->IsAccessCheckNeeded());
|
||||
|
||||
// Perform map transition for the receiver if necessary.
|
||||
if (object->map()->unused_property_fields() == 0) {
|
||||
if (details.type() == FIELD &&
|
||||
object->map()->unused_property_fields() == 0) {
|
||||
// The properties must be extended before we can store the value.
|
||||
// We jump to a runtime call that extends the properties array.
|
||||
__ pop(scratch1); // Return address.
|
||||
|
Loading…
Reference in New Issue
Block a user