OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef V8_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <functional> | 8 #include <functional> |
9 | 9 |
10 #include "src/compiler/code-assembler.h" | 10 #include "src/compiler/code-assembler.h" |
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 Variable* var_handler, Label* if_miss); | 630 Variable* var_handler, Label* if_miss); |
631 | 631 |
632 compiler::Node* PrepareValueForWrite(compiler::Node* value, | 632 compiler::Node* PrepareValueForWrite(compiler::Node* value, |
633 Representation representation, | 633 Representation representation, |
634 Label* bailout); | 634 Label* bailout); |
635 | 635 |
636 void StoreNamedField(compiler::Node* object, FieldIndex index, | 636 void StoreNamedField(compiler::Node* object, FieldIndex index, |
637 Representation representation, compiler::Node* value, | 637 Representation representation, compiler::Node* value, |
638 bool transition_to_field); | 638 bool transition_to_field); |
639 | 639 |
| 640 // Emits keyed sloppy arguments load if the |value| is nullptr or store |
| 641 // otherwise. Returns either the loaded value or |value|. |
| 642 compiler::Node* EmitKeyedSloppyArguments(compiler::Node* receiver, |
| 643 compiler::Node* key, |
| 644 compiler::Node* value, |
| 645 Label* bailout); |
| 646 |
640 void LoadIC(const LoadICParameters* p); | 647 void LoadIC(const LoadICParameters* p); |
641 void LoadGlobalIC(const LoadICParameters* p); | 648 void LoadGlobalIC(const LoadICParameters* p); |
642 void KeyedLoadIC(const LoadICParameters* p); | 649 void KeyedLoadIC(const LoadICParameters* p); |
643 void KeyedLoadICGeneric(const LoadICParameters* p); | 650 void KeyedLoadICGeneric(const LoadICParameters* p); |
644 | 651 |
645 // Get the enumerable length from |map| and return the result as a Smi. | 652 // Get the enumerable length from |map| and return the result as a Smi. |
646 compiler::Node* EnumLength(compiler::Node* map); | 653 compiler::Node* EnumLength(compiler::Node* map); |
647 | 654 |
648 // Check the cache validity for |receiver|. Branch to |use_cache| if | 655 // Check the cache validity for |receiver|. Branch to |use_cache| if |
649 // the cache is valid, otherwise branch to |use_runtime|. | 656 // the cache is valid, otherwise branch to |use_runtime|. |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 compiler::Node* SmiShiftBitsConstant(); | 709 compiler::Node* SmiShiftBitsConstant(); |
703 | 710 |
704 static const int kElementLoopUnrollThreshold = 8; | 711 static const int kElementLoopUnrollThreshold = 8; |
705 }; | 712 }; |
706 | 713 |
707 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); | 714 DEFINE_OPERATORS_FOR_FLAGS(CodeStubAssembler::AllocationFlags); |
708 | 715 |
709 } // namespace internal | 716 } // namespace internal |
710 } // namespace v8 | 717 } // namespace v8 |
711 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 718 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |