OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2612 | 2612 |
2613 | 2613 |
2614 void BinaryOpIC::State::Update(Handle<Object> left, | 2614 void BinaryOpIC::State::Update(Handle<Object> left, |
2615 Handle<Object> right, | 2615 Handle<Object> right, |
2616 Handle<Object> result) { | 2616 Handle<Object> result) { |
2617 ExtraICState old_extra_ic_state = GetExtraICState(); | 2617 ExtraICState old_extra_ic_state = GetExtraICState(); |
2618 | 2618 |
2619 left_kind_ = UpdateKind(left, left_kind_); | 2619 left_kind_ = UpdateKind(left, left_kind_); |
2620 right_kind_ = UpdateKind(right, right_kind_); | 2620 right_kind_ = UpdateKind(right, right_kind_); |
2621 | 2621 |
2622 int32_t fixed_right_arg_value; | 2622 int32_t fixed_right_arg_value = 0; |
2623 bool has_fixed_right_arg = | 2623 bool has_fixed_right_arg = |
2624 op_ == Token::MOD && | 2624 op_ == Token::MOD && |
2625 right->ToInt32(&fixed_right_arg_value) && | 2625 right->ToInt32(&fixed_right_arg_value) && |
2626 fixed_right_arg_value > 0 && | 2626 fixed_right_arg_value > 0 && |
2627 IsPowerOf2(fixed_right_arg_value) && | 2627 IsPowerOf2(fixed_right_arg_value) && |
2628 FixedRightArgValueField::is_valid(fixed_right_arg_value) && | 2628 FixedRightArgValueField::is_valid(fixed_right_arg_value) && |
2629 (left_kind_ == SMI || left_kind_ == INT32) && | 2629 (left_kind_ == SMI || left_kind_ == INT32) && |
2630 (result_kind_ == NONE || !fixed_right_arg_.has_value); | 2630 (result_kind_ == NONE || !fixed_right_arg_.has_value); |
2631 fixed_right_arg_ = Maybe<int32_t>(has_fixed_right_arg, | 2631 fixed_right_arg_ = Maybe<int32_t>(has_fixed_right_arg, |
2632 fixed_right_arg_value); | 2632 fixed_right_arg_value); |
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3143 #undef ADDR | 3143 #undef ADDR |
3144 }; | 3144 }; |
3145 | 3145 |
3146 | 3146 |
3147 Address IC::AddressFromUtilityId(IC::UtilityId id) { | 3147 Address IC::AddressFromUtilityId(IC::UtilityId id) { |
3148 return IC_utilities[id]; | 3148 return IC_utilities[id]; |
3149 } | 3149 } |
3150 | 3150 |
3151 | 3151 |
3152 } } // namespace v8::internal | 3152 } } // namespace v8::internal |
OLD | NEW |