OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 8760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8771 void HOptimizedGraphBuilder::GenerateIsFunction(CallRuntime* call) { | 8771 void HOptimizedGraphBuilder::GenerateIsFunction(CallRuntime* call) { |
8772 ASSERT(call->arguments()->length() == 1); | 8772 ASSERT(call->arguments()->length() == 1); |
8773 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); | 8773 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
8774 HValue* value = Pop(); | 8774 HValue* value = Pop(); |
8775 HHasInstanceTypeAndBranch* result = | 8775 HHasInstanceTypeAndBranch* result = |
8776 New<HHasInstanceTypeAndBranch>(value, JS_FUNCTION_TYPE); | 8776 New<HHasInstanceTypeAndBranch>(value, JS_FUNCTION_TYPE); |
8777 return ast_context()->ReturnControl(result, call->id()); | 8777 return ast_context()->ReturnControl(result, call->id()); |
8778 } | 8778 } |
8779 | 8779 |
8780 | 8780 |
| 8781 void HOptimizedGraphBuilder::GenerateIsMinusZero(CallRuntime* call) { |
| 8782 ASSERT(call->arguments()->length() == 1); |
| 8783 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
| 8784 HValue* value = Pop(); |
| 8785 HCompareMinusZeroAndBranch* result = New<HCompareMinusZeroAndBranch>(value); |
| 8786 return ast_context()->ReturnControl(result, call->id()); |
| 8787 } |
| 8788 |
| 8789 |
8781 void HOptimizedGraphBuilder::GenerateHasCachedArrayIndex(CallRuntime* call) { | 8790 void HOptimizedGraphBuilder::GenerateHasCachedArrayIndex(CallRuntime* call) { |
8782 ASSERT(call->arguments()->length() == 1); | 8791 ASSERT(call->arguments()->length() == 1); |
8783 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); | 8792 CHECK_ALIVE(VisitForValue(call->arguments()->at(0))); |
8784 HValue* value = Pop(); | 8793 HValue* value = Pop(); |
8785 HHasCachedArrayIndexAndBranch* result = | 8794 HHasCachedArrayIndexAndBranch* result = |
8786 New<HHasCachedArrayIndexAndBranch>(value); | 8795 New<HHasCachedArrayIndexAndBranch>(value); |
8787 return ast_context()->ReturnControl(result, call->id()); | 8796 return ast_context()->ReturnControl(result, call->id()); |
8788 } | 8797 } |
8789 | 8798 |
8790 | 8799 |
(...skipping 1063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9854 if (ShouldProduceTraceOutput()) { | 9863 if (ShouldProduceTraceOutput()) { |
9855 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 9864 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
9856 } | 9865 } |
9857 | 9866 |
9858 #ifdef DEBUG | 9867 #ifdef DEBUG |
9859 graph_->Verify(false); // No full verify. | 9868 graph_->Verify(false); // No full verify. |
9860 #endif | 9869 #endif |
9861 } | 9870 } |
9862 | 9871 |
9863 } } // namespace v8::internal | 9872 } } // namespace v8::internal |
OLD | NEW |