| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 637 } | 637 } |
| 638 | 638 |
| 639 | 639 |
| 640 Failure* Top::Throw(Object* exception, MessageLocation* location) { | 640 Failure* Top::Throw(Object* exception, MessageLocation* location) { |
| 641 DoThrow(exception, location, NULL); | 641 DoThrow(exception, location, NULL); |
| 642 return Failure::Exception(); | 642 return Failure::Exception(); |
| 643 } | 643 } |
| 644 | 644 |
| 645 | 645 |
| 646 Failure* Top::ReThrow(Object* exception, MessageLocation* location) { | 646 Failure* Top::ReThrow(Object* exception, MessageLocation* location) { |
| 647 // Set the exception beeing re-thrown. | 647 // Set the exception being re-thrown. |
| 648 set_pending_exception(exception); | 648 set_pending_exception(exception); |
| 649 return Failure::Exception(); | 649 return Failure::Exception(); |
| 650 } | 650 } |
| 651 | 651 |
| 652 | 652 |
| 653 void Top::ScheduleThrow(Object* exception) { | 653 void Top::ScheduleThrow(Object* exception) { |
| 654 // When scheduling a throw we first throw the exception to get the | 654 // When scheduling a throw we first throw the exception to get the |
| 655 // error reporting if it is uncaught before rescheduling it. | 655 // error reporting if it is uncaught before rescheduling it. |
| 656 Throw(exception); | 656 Throw(exception); |
| 657 thread_local_.scheduled_exception_ = pending_exception(); | 657 thread_local_.scheduled_exception_ = pending_exception(); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 Handle<Object> pos_obj(Smi::FromInt(pos)); | 698 Handle<Object> pos_obj(Smi::FromInt(pos)); |
| 699 // Fetch function and receiver. | 699 // Fetch function and receiver. |
| 700 Handle<JSFunction> fun(JSFunction::cast(frame->function())); | 700 Handle<JSFunction> fun(JSFunction::cast(frame->function())); |
| 701 Handle<Object> recv(frame->receiver()); | 701 Handle<Object> recv(frame->receiver()); |
| 702 // Advance to the next JavaScript frame and determine if the | 702 // Advance to the next JavaScript frame and determine if the |
| 703 // current frame is the top-level frame. | 703 // current frame is the top-level frame. |
| 704 it.Advance(); | 704 it.Advance(); |
| 705 Handle<Object> is_top_level = it.done() | 705 Handle<Object> is_top_level = it.done() |
| 706 ? Factory::true_value() | 706 ? Factory::true_value() |
| 707 : Factory::false_value(); | 707 : Factory::false_value(); |
| 708 // Generate and print strack trace line. | 708 // Generate and print stack trace line. |
| 709 Handle<String> line = | 709 Handle<String> line = |
| 710 Execution::GetStackTraceLine(recv, fun, pos_obj, is_top_level); | 710 Execution::GetStackTraceLine(recv, fun, pos_obj, is_top_level); |
| 711 if (line->length() > 0) { | 711 if (line->length() > 0) { |
| 712 line->PrintOn(out); | 712 line->PrintOn(out); |
| 713 fprintf(out, "\n"); | 713 fprintf(out, "\n"); |
| 714 } | 714 } |
| 715 } | 715 } |
| 716 } | 716 } |
| 717 | 717 |
| 718 | 718 |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 Top::break_access_->Lock(); | 957 Top::break_access_->Lock(); |
| 958 } | 958 } |
| 959 | 959 |
| 960 | 960 |
| 961 ExecutionAccess::~ExecutionAccess() { | 961 ExecutionAccess::~ExecutionAccess() { |
| 962 Top::break_access_->Unlock(); | 962 Top::break_access_->Unlock(); |
| 963 } | 963 } |
| 964 | 964 |
| 965 | 965 |
| 966 } } // namespace v8::internal | 966 } } // namespace v8::internal |
| OLD | NEW |