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 3965 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3976 shared_info = Compiler::BuildFunctionInfo(expr, current_info()->script()); | 3976 shared_info = Compiler::BuildFunctionInfo(expr, current_info()->script()); |
3977 } | 3977 } |
3978 // We also have a stack overflow if the recursive compilation did. | 3978 // We also have a stack overflow if the recursive compilation did. |
3979 if (HasStackOverflow()) return; | 3979 if (HasStackOverflow()) return; |
3980 HFunctionLiteral* instr = | 3980 HFunctionLiteral* instr = |
3981 New<HFunctionLiteral>(shared_info, expr->pretenure()); | 3981 New<HFunctionLiteral>(shared_info, expr->pretenure()); |
3982 return ast_context()->ReturnInstruction(instr, expr->id()); | 3982 return ast_context()->ReturnInstruction(instr, expr->id()); |
3983 } | 3983 } |
3984 | 3984 |
3985 | 3985 |
3986 void HOptimizedGraphBuilder::VisitSharedFunctionInfoLiteral( | 3986 void HOptimizedGraphBuilder::VisitNativeFunctionLiteral( |
3987 SharedFunctionInfoLiteral* expr) { | 3987 NativeFunctionLiteral* expr) { |
3988 ASSERT(!HasStackOverflow()); | 3988 ASSERT(!HasStackOverflow()); |
3989 ASSERT(current_block() != NULL); | 3989 ASSERT(current_block() != NULL); |
3990 ASSERT(current_block()->HasPredecessor()); | 3990 ASSERT(current_block()->HasPredecessor()); |
3991 return Bailout(kSharedFunctionInfoLiteral); | 3991 return Bailout(kNativeFunctionLiteral); |
3992 } | 3992 } |
3993 | 3993 |
3994 | 3994 |
3995 void HOptimizedGraphBuilder::VisitConditional(Conditional* expr) { | 3995 void HOptimizedGraphBuilder::VisitConditional(Conditional* expr) { |
3996 ASSERT(!HasStackOverflow()); | 3996 ASSERT(!HasStackOverflow()); |
3997 ASSERT(current_block() != NULL); | 3997 ASSERT(current_block() != NULL); |
3998 ASSERT(current_block()->HasPredecessor()); | 3998 ASSERT(current_block()->HasPredecessor()); |
3999 HBasicBlock* cond_true = graph()->CreateBasicBlock(); | 3999 HBasicBlock* cond_true = graph()->CreateBasicBlock(); |
4000 HBasicBlock* cond_false = graph()->CreateBasicBlock(); | 4000 HBasicBlock* cond_false = graph()->CreateBasicBlock(); |
4001 CHECK_BAILOUT(VisitForControl(expr->condition(), cond_true, cond_false)); | 4001 CHECK_BAILOUT(VisitForControl(expr->condition(), cond_true, cond_false)); |
(...skipping 5871 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9873 if (ShouldProduceTraceOutput()) { | 9873 if (ShouldProduceTraceOutput()) { |
9874 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 9874 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
9875 } | 9875 } |
9876 | 9876 |
9877 #ifdef DEBUG | 9877 #ifdef DEBUG |
9878 graph_->Verify(false); // No full verify. | 9878 graph_->Verify(false); // No full verify. |
9879 #endif | 9879 #endif |
9880 } | 9880 } |
9881 | 9881 |
9882 } } // namespace v8::internal | 9882 } } // namespace v8::internal |
OLD | NEW |