OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 // support. | 255 // support. |
256 ASSERT(FLAG_always_opt || info->shared_info()->code()->optimizable()); | 256 ASSERT(FLAG_always_opt || info->shared_info()->code()->optimizable()); |
257 ASSERT(info->shared_info()->has_deoptimization_support()); | 257 ASSERT(info->shared_info()->has_deoptimization_support()); |
258 | 258 |
259 if (FLAG_trace_hydrogen) { | 259 if (FLAG_trace_hydrogen) { |
260 PrintF("-----------------------------------------------------------\n"); | 260 PrintF("-----------------------------------------------------------\n"); |
261 PrintF("Compiling method %s using hydrogen\n", *name->ToCString()); | 261 PrintF("Compiling method %s using hydrogen\n", *name->ToCString()); |
262 HTracer::Instance()->TraceCompilation(info->function()); | 262 HTracer::Instance()->TraceCompilation(info->function()); |
263 } | 263 } |
264 | 264 |
265 TypeFeedbackOracle oracle(Handle<Code>(info->shared_info()->code())); | 265 TypeFeedbackOracle oracle( |
| 266 Handle<Code>(info->shared_info()->code()), |
| 267 Handle<Context>(info->closure()->context()->global_context())); |
266 HGraphBuilder builder(&oracle); | 268 HGraphBuilder builder(&oracle); |
267 HPhase phase(HPhase::kTotal); | 269 HPhase phase(HPhase::kTotal); |
268 HGraph* graph = builder.CreateGraph(info); | 270 HGraph* graph = builder.CreateGraph(info); |
269 if (graph != NULL && FLAG_build_lithium) { | 271 if (graph != NULL && FLAG_build_lithium) { |
270 Handle<Code> code = graph->Compile(); | 272 Handle<Code> code = graph->Compile(); |
271 if (!code.is_null()) { | 273 if (!code.is_null()) { |
272 info->SetCode(code); | 274 info->SetCode(code); |
273 FinishOptimization(info->closure(), start); | 275 FinishOptimization(info->closure(), start); |
274 return true; | 276 return true; |
275 } | 277 } |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 *code, | 770 *code, |
769 *name)); | 771 *name)); |
770 OPROFILE(CreateNativeCodeRegion(*name, | 772 OPROFILE(CreateNativeCodeRegion(*name, |
771 code->instruction_start(), | 773 code->instruction_start(), |
772 code->instruction_size())); | 774 code->instruction_size())); |
773 } | 775 } |
774 } | 776 } |
775 } | 777 } |
776 | 778 |
777 } } // namespace v8::internal | 779 } } // namespace v8::internal |
OLD | NEW |