| Index: src/code-stub-assembler.cc
|
| diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc
|
| index 005d5e7f2e32f2f4c4b371fcf8798b159b069193..d3cbcc468465d70535d1049e07737ba7fdef4f7b 100644
|
| --- a/src/code-stub-assembler.cc
|
| +++ b/src/code-stub-assembler.cc
|
| @@ -3994,17 +3994,16 @@ compiler::Node* CodeStubAssembler::LoadTypeFeedbackVectorForStub() {
|
| void CodeStubAssembler::UpdateFeedback(compiler::Node* feedback,
|
| compiler::Node* type_feedback_vector,
|
| compiler::Node* slot_id) {
|
| - Label combine_feedback(this), record_feedback(this), end(this);
|
| -
|
| // This method is used for binary op and compare feedback. These
|
| // vector nodes are initialized with a smi 0, so we can simply OR
|
| // our new feedback in place.
|
| + // TODO(interpreter): Consider passing the feedback as Smi already to avoid
|
| + // the tagging completely.
|
| Node* previous_feedback =
|
| LoadFixedArrayElement(type_feedback_vector, slot_id);
|
| - Node* untagged_previous_feedback = SmiUntag(previous_feedback);
|
| - Node* combined_feedback = Word32Or(untagged_previous_feedback, feedback);
|
| - StoreFixedArrayElement(type_feedback_vector, slot_id,
|
| - SmiTag(combined_feedback), SKIP_WRITE_BARRIER);
|
| + Node* combined_feedback = SmiOr(previous_feedback, SmiFromWord32(feedback));
|
| + StoreFixedArrayElement(type_feedback_vector, slot_id, combined_feedback,
|
| + SKIP_WRITE_BARRIER);
|
| }
|
|
|
| compiler::Node* CodeStubAssembler::LoadReceiverMap(compiler::Node* receiver) {
|
|
|