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 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 compiler::Node* context; | 490 compiler::Node* context; |
491 compiler::Node* receiver; | 491 compiler::Node* receiver; |
492 compiler::Node* name; | 492 compiler::Node* name; |
493 compiler::Node* slot; | 493 compiler::Node* slot; |
494 compiler::Node* vector; | 494 compiler::Node* vector; |
495 }; | 495 }; |
496 | 496 |
497 // Load type feedback vector from the stub caller's frame. | 497 // Load type feedback vector from the stub caller's frame. |
498 compiler::Node* LoadTypeFeedbackVectorForStub(); | 498 compiler::Node* LoadTypeFeedbackVectorForStub(); |
499 | 499 |
| 500 // Update the type feedback vector. |
| 501 void UpdateFeedback(compiler::Node* feedback, |
| 502 compiler::Node* type_feedback_vector, |
| 503 compiler::Node* slot_id); |
| 504 |
500 compiler::Node* LoadReceiverMap(compiler::Node* receiver); | 505 compiler::Node* LoadReceiverMap(compiler::Node* receiver); |
501 | 506 |
502 // Checks monomorphic case. Returns {feedback} entry of the vector. | 507 // Checks monomorphic case. Returns {feedback} entry of the vector. |
503 compiler::Node* TryMonomorphicCase(const LoadICParameters* p, | 508 compiler::Node* TryMonomorphicCase(const LoadICParameters* p, |
504 compiler::Node* receiver_map, | 509 compiler::Node* receiver_map, |
505 Label* if_handler, Variable* var_handler, | 510 Label* if_handler, Variable* var_handler, |
506 Label* if_miss); | 511 Label* if_miss); |
507 void HandlePolymorphicCase(const LoadICParameters* p, | 512 void HandlePolymorphicCase(const LoadICParameters* p, |
508 compiler::Node* receiver_map, | 513 compiler::Node* receiver_map, |
509 compiler::Node* feedback, Label* if_handler, | 514 compiler::Node* feedback, Label* if_handler, |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 AllocationFlags flags, | 588 AllocationFlags flags, |
584 compiler::Node* top_adddress, | 589 compiler::Node* top_adddress, |
585 compiler::Node* limit_address); | 590 compiler::Node* limit_address); |
586 | 591 |
587 static const int kElementLoopUnrollThreshold = 8; | 592 static const int kElementLoopUnrollThreshold = 8; |
588 }; | 593 }; |
589 | 594 |
590 } // namespace internal | 595 } // namespace internal |
591 } // namespace v8 | 596 } // namespace v8 |
592 #endif // V8_CODE_STUB_ASSEMBLER_H_ | 597 #endif // V8_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |