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 8657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8668 } | 8668 } |
8669 | 8669 |
8670 | 8670 |
8671 HInstruction* HOptimizedGraphBuilder::BuildBinaryOperation( | 8671 HInstruction* HOptimizedGraphBuilder::BuildBinaryOperation( |
8672 BinaryOperation* expr, | 8672 BinaryOperation* expr, |
8673 HValue* left, | 8673 HValue* left, |
8674 HValue* right) { | 8674 HValue* right) { |
8675 HValue* context = environment()->LookupContext(); | 8675 HValue* context = environment()->LookupContext(); |
8676 Handle<Type> left_type = expr->left()->lower_type(); | 8676 Handle<Type> left_type = expr->left()->lower_type(); |
8677 Handle<Type> right_type = expr->right()->lower_type(); | 8677 Handle<Type> right_type = expr->right()->lower_type(); |
8678 Handle<Type> result_type = expr->result_type(); | 8678 Handle<Type> result_type = expr->lower_type(); |
8679 Maybe<int> fixed_right_arg = expr->fixed_right_arg(); | 8679 Maybe<int> fixed_right_arg = expr->fixed_right_arg(); |
8680 Representation left_rep = ToRepresentation(left_type); | 8680 Representation left_rep = ToRepresentation(left_type); |
8681 Representation right_rep = ToRepresentation(right_type); | 8681 Representation right_rep = ToRepresentation(right_type); |
8682 Representation result_rep = ToRepresentation(result_type); | 8682 Representation result_rep = ToRepresentation(result_type); |
8683 if (left_type->Is(Type::None())) { | 8683 if (left_type->Is(Type::None())) { |
8684 AddSoftDeoptimize(); | 8684 AddSoftDeoptimize(); |
8685 // TODO(rossberg): we should be able to get rid of non-continuous defaults. | 8685 // TODO(rossberg): we should be able to get rid of non-continuous defaults. |
8686 left_type = handle(Type::Any(), isolate()); | 8686 left_type = handle(Type::Any(), isolate()); |
8687 } | 8687 } |
8688 if (right_type->Is(Type::None())) { | 8688 if (right_type->Is(Type::None())) { |
(...skipping 2115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10804 if (ShouldProduceTraceOutput()) { | 10804 if (ShouldProduceTraceOutput()) { |
10805 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 10805 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
10806 } | 10806 } |
10807 | 10807 |
10808 #ifdef DEBUG | 10808 #ifdef DEBUG |
10809 graph_->Verify(false); // No full verify. | 10809 graph_->Verify(false); // No full verify. |
10810 #endif | 10810 #endif |
10811 } | 10811 } |
10812 | 10812 |
10813 } } // namespace v8::internal | 10813 } } // namespace v8::internal |
OLD | NEW |