| OLD | NEW | 
|---|
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "hydrogen.h" | 5 #include "hydrogen.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 | 8 | 
| 9 #include "v8.h" | 9 #include "v8.h" | 
| 10 #include "allocation-site-scopes.h" | 10 #include "allocation-site-scopes.h" | 
| (...skipping 7909 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 7920 | 7920 | 
| 7921         if (!ast_context()->IsEffect()) Push(new_size); | 7921         if (!ast_context()->IsEffect()) Push(new_size); | 
| 7922         Add<HSimulate>(expr->id(), REMOVABLE_SIMULATE); | 7922         Add<HSimulate>(expr->id(), REMOVABLE_SIMULATE); | 
| 7923         if (!ast_context()->IsEffect()) Drop(1); | 7923         if (!ast_context()->IsEffect()) Drop(1); | 
| 7924       } | 7924       } | 
| 7925 | 7925 | 
| 7926       ast_context()->ReturnValue(new_size); | 7926       ast_context()->ReturnValue(new_size); | 
| 7927       return true; | 7927       return true; | 
| 7928     } | 7928     } | 
| 7929     case kArrayShift: { | 7929     case kArrayShift: { | 
|  | 7930       // Something in here seems to be causing crbug.com/374838. | 
|  | 7931       // TODO(bmeurer): Investigate the problem and re-enable this code. | 
|  | 7932       return false; | 
|  | 7933 | 
| 7930       if (receiver_map.is_null()) return false; | 7934       if (receiver_map.is_null()) return false; | 
| 7931       if (receiver_map->instance_type() != JS_ARRAY_TYPE) return false; | 7935       if (receiver_map->instance_type() != JS_ARRAY_TYPE) return false; | 
| 7932       ElementsKind kind = receiver_map->elements_kind(); | 7936       ElementsKind kind = receiver_map->elements_kind(); | 
| 7933       if (!IsFastElementsKind(kind)) return false; | 7937       if (!IsFastElementsKind(kind)) return false; | 
| 7934       if (receiver_map->is_observed()) return false; | 7938       if (receiver_map->is_observed()) return false; | 
| 7935       ASSERT(receiver_map->is_extensible()); | 7939       ASSERT(receiver_map->is_extensible()); | 
| 7936 | 7940 | 
| 7937       // If there may be elements accessors in the prototype chain, the fast | 7941       // If there may be elements accessors in the prototype chain, the fast | 
| 7938       // inlined version can't be used. | 7942       // inlined version can't be used. | 
| 7939       if (receiver_map->DictionaryElementsInPrototypeChainOnly()) return false; | 7943       if (receiver_map->DictionaryElementsInPrototypeChainOnly()) return false; | 
| (...skipping 3861 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 11801   if (ShouldProduceTraceOutput()) { | 11805   if (ShouldProduceTraceOutput()) { | 
| 11802     isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 11806     isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 
| 11803   } | 11807   } | 
| 11804 | 11808 | 
| 11805 #ifdef DEBUG | 11809 #ifdef DEBUG | 
| 11806   graph_->Verify(false);  // No full verify. | 11810   graph_->Verify(false);  // No full verify. | 
| 11807 #endif | 11811 #endif | 
| 11808 } | 11812 } | 
| 11809 | 11813 | 
| 11810 } }  // namespace v8::internal | 11814 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|