OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <ostream> | 5 #include <ostream> |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/compilation-dependencies.h" | 8 #include "src/compilation-dependencies.h" |
9 #include "src/compiler/access-info.h" | 9 #include "src/compiler/access-info.h" |
10 #include "src/compiler/type-cache.h" | 10 #include "src/compiler/type-cache.h" |
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 : Handle<AccessorPair>::cast(accessors)->setter(), | 354 : Handle<AccessorPair>::cast(accessors)->setter(), |
355 isolate()); | 355 isolate()); |
356 if (!accessor->IsJSFunction()) { | 356 if (!accessor->IsJSFunction()) { |
357 CallOptimization optimization(accessor); | 357 CallOptimization optimization(accessor); |
358 if (!optimization.is_simple_api_call()) { | 358 if (!optimization.is_simple_api_call()) { |
359 return false; | 359 return false; |
360 } | 360 } |
361 if (optimization.api_call_info()->fast_handler()->IsCode()) { | 361 if (optimization.api_call_info()->fast_handler()->IsCode()) { |
362 return false; | 362 return false; |
363 } | 363 } |
| 364 if (V8_UNLIKELY(FLAG_runtime_stats)) return false; |
364 } | 365 } |
365 *access_info = PropertyAccessInfo::AccessorConstant( | 366 *access_info = PropertyAccessInfo::AccessorConstant( |
366 MapList{receiver_map}, accessor, holder); | 367 MapList{receiver_map}, accessor, holder); |
367 return true; | 368 return true; |
368 } | 369 } |
369 case ACCESSOR: { | 370 case ACCESSOR: { |
370 // TODO(turbofan): Add support for general accessors? | 371 // TODO(turbofan): Add support for general accessors? |
371 return false; | 372 return false; |
372 } | 373 } |
373 } | 374 } |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 } | 547 } |
547 return false; | 548 return false; |
548 } | 549 } |
549 | 550 |
550 | 551 |
551 Factory* AccessInfoFactory::factory() const { return isolate()->factory(); } | 552 Factory* AccessInfoFactory::factory() const { return isolate()->factory(); } |
552 | 553 |
553 } // namespace compiler | 554 } // namespace compiler |
554 } // namespace internal | 555 } // namespace internal |
555 } // namespace v8 | 556 } // namespace v8 |
OLD | NEW |