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 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 | 558 |
559 #ifdef ENABLE_DEBUGGER_SUPPORT | 559 #ifdef ENABLE_DEBUGGER_SUPPORT |
560 if (info->is_eval()) { | 560 if (info->is_eval()) { |
561 Script::CompilationType compilation_type = Script::COMPILATION_TYPE_EVAL; | 561 Script::CompilationType compilation_type = Script::COMPILATION_TYPE_EVAL; |
562 script->set_compilation_type(Smi::FromInt(compilation_type)); | 562 script->set_compilation_type(Smi::FromInt(compilation_type)); |
563 // For eval scripts add information on the function from which eval was | 563 // For eval scripts add information on the function from which eval was |
564 // called. | 564 // called. |
565 if (info->is_eval()) { | 565 if (info->is_eval()) { |
566 StackTraceFrameIterator it(isolate); | 566 StackTraceFrameIterator it(isolate); |
567 if (!it.done()) { | 567 if (!it.done()) { |
568 script->set_eval_from_shared( | 568 script->set_eval_from_shared(it.frame()->function()->shared()); |
569 JSFunction::cast(it.frame()->function())->shared()); | |
570 Code* code = it.frame()->LookupCode(); | 569 Code* code = it.frame()->LookupCode(); |
571 int offset = static_cast<int>( | 570 int offset = static_cast<int>( |
572 it.frame()->pc() - code->instruction_start()); | 571 it.frame()->pc() - code->instruction_start()); |
573 script->set_eval_from_instructions_offset(Smi::FromInt(offset)); | 572 script->set_eval_from_instructions_offset(Smi::FromInt(offset)); |
574 } | 573 } |
575 } | 574 } |
576 } | 575 } |
577 | 576 |
578 // Notify debugger | 577 // Notify debugger |
579 isolate->debugger()->OnBeforeCompile(script); | 578 isolate->debugger()->OnBeforeCompile(script); |
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1248 | 1247 |
1249 | 1248 |
1250 bool CompilationPhase::ShouldProduceTraceOutput() const { | 1249 bool CompilationPhase::ShouldProduceTraceOutput() const { |
1251 // Produce trace output if flag is set so that the first letter of the | 1250 // Produce trace output if flag is set so that the first letter of the |
1252 // phase name matches the command line parameter FLAG_trace_phase. | 1251 // phase name matches the command line parameter FLAG_trace_phase. |
1253 return (FLAG_trace_hydrogen && | 1252 return (FLAG_trace_hydrogen && |
1254 OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL); | 1253 OS::StrChr(const_cast<char*>(FLAG_trace_phase), name_[0]) != NULL); |
1255 } | 1254 } |
1256 | 1255 |
1257 } } // namespace v8::internal | 1256 } } // namespace v8::internal |
OLD | NEW |