From 72f7abb4c9b117dfed1c8b668fde1fdf24873a6b Mon Sep 17 00:00:00 2001 From: "palfia@homejinni.com" Date: Thu, 6 Jun 2013 18:59:11 +0000 Subject: [PATCH] MIPS: Assign less environments. Port r14983 (960d6de) BUG= Review URL: https://codereview.chromium.org/16567002 Patch from Balazs Kilvady . git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/mips/lithium-mips.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc index 2247e7c3ef..be3279f575 100644 --- a/src/mips/lithium-mips.cc +++ b/src/mips/lithium-mips.cc @@ -2229,10 +2229,11 @@ LInstruction* LChunkBuilder::DoStoreNamedField(HStoreNamedField* instr) { LOperand* temp = needs_write_barrier_for_map ? TempRegister() : NULL; LStoreNamedField* result = new(zone()) LStoreNamedField(obj, val, temp); - if ((FLAG_track_fields && instr->field_representation().IsSmi()) || - (FLAG_track_heap_object_fields && - instr->field_representation().IsHeapObject())) { - return AssignEnvironment(result); + if (FLAG_track_heap_object_fields && + instr->field_representation().IsHeapObject()) { + if (!instr->value()->type().IsHeapObject()) { + return AssignEnvironment(result); + } } return result; }