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 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
640 | 640 |
641 | 641 |
642 void EntryFrame::Iterate(ObjectVisitor* v) const { | 642 void EntryFrame::Iterate(ObjectVisitor* v) const { |
643 StackHandlerIterator it(this, top_handler()); | 643 StackHandlerIterator it(this, top_handler()); |
644 ASSERT(!it.done()); | 644 ASSERT(!it.done()); |
645 StackHandler* handler = it.handler(); | 645 StackHandler* handler = it.handler(); |
646 ASSERT(handler->is_entry()); | 646 ASSERT(handler->is_entry()); |
647 handler->Iterate(v); | 647 handler->Iterate(v); |
648 // Make sure that there's the entry frame does not contain more than | 648 // Make sure that there's the entry frame does not contain more than |
649 // one stack handler. | 649 // one stack handler. |
650 if (kDebug) { | 650 #ifdef DEBUG |
651 it.Advance(); | 651 it.Advance(); |
652 ASSERT(it.done()); | 652 ASSERT(it.done()); |
653 } | 653 #endif |
654 } | 654 } |
655 | 655 |
656 | 656 |
657 void StandardFrame::IterateExpressions(ObjectVisitor* v) const { | 657 void StandardFrame::IterateExpressions(ObjectVisitor* v) const { |
658 const int offset = StandardFrameConstants::kContextOffset; | 658 const int offset = StandardFrameConstants::kContextOffset; |
659 Object** base = &Memory::Object_at(sp()); | 659 Object** base = &Memory::Object_at(sp()); |
660 Object** limit = &Memory::Object_at(fp() + offset) + 1; | 660 Object** limit = &Memory::Object_at(fp() + offset) + 1; |
661 for (StackHandlerIterator it(this, top_handler()); !it.done(); it.Advance()) { | 661 for (StackHandlerIterator it(this, top_handler()); !it.done(); it.Advance()) { |
662 StackHandler* handler = it.handler(); | 662 StackHandler* handler = it.handler(); |
663 // Traverse pointers down to - but not including - the next | 663 // Traverse pointers down to - but not including - the next |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
731 reg_code[i++] = r; | 731 reg_code[i++] = r; |
732 | 732 |
733 ASSERT(i == kNumJSCallerSaved); | 733 ASSERT(i == kNumJSCallerSaved); |
734 } | 734 } |
735 ASSERT(0 <= n && n < kNumJSCallerSaved); | 735 ASSERT(0 <= n && n < kNumJSCallerSaved); |
736 return reg_code[n]; | 736 return reg_code[n]; |
737 } | 737 } |
738 | 738 |
739 | 739 |
740 } } // namespace v8::internal | 740 } } // namespace v8::internal |
OLD | NEW |