OLD | NEW |
---|---|
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 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 2525 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2536 // Add a label for checking the size of the code used for returning. | 2536 // Add a label for checking the size of the code used for returning. |
2537 Label check_exit_codesize; | 2537 Label check_exit_codesize; |
2538 masm_->bind(&check_exit_codesize); | 2538 masm_->bind(&check_exit_codesize); |
2539 | 2539 |
2540 // Leave the frame and return popping the arguments and the | 2540 // Leave the frame and return popping the arguments and the |
2541 // receiver. | 2541 // receiver. |
2542 frame_->Exit(); | 2542 frame_->Exit(); |
2543 masm_->ret((scope_->num_parameters() + 1) * kPointerSize); | 2543 masm_->ret((scope_->num_parameters() + 1) * kPointerSize); |
2544 DeleteFrame(); | 2544 DeleteFrame(); |
2545 | 2545 |
2546 #ifdef ENABLE_DEBUGGER_SUPPORT | |
Erik Corry
2009/09/29 09:01:16
Do we need to make the same change for other archi
Søren Thygesen Gjesse
2009/09/29 09:20:51
It is already taken care of in for x64, and for AR
| |
2546 // Check that the size of the code used for returning matches what is | 2547 // Check that the size of the code used for returning matches what is |
2547 // expected by the debugger. | 2548 // expected by the debugger. |
2548 ASSERT_EQ(Debug::kIa32JSReturnSequenceLength, | 2549 ASSERT_EQ(Debug::kIa32JSReturnSequenceLength, |
2549 masm_->SizeOfCodeGeneratedSince(&check_exit_codesize)); | 2550 masm_->SizeOfCodeGeneratedSince(&check_exit_codesize)); |
2551 #endif | |
2550 } | 2552 } |
2551 | 2553 |
2552 | 2554 |
2553 void CodeGenerator::VisitWithEnterStatement(WithEnterStatement* node) { | 2555 void CodeGenerator::VisitWithEnterStatement(WithEnterStatement* node) { |
2554 ASSERT(!in_spilled_code()); | 2556 ASSERT(!in_spilled_code()); |
2555 Comment cmnt(masm_, "[ WithEnterStatement"); | 2557 Comment cmnt(masm_, "[ WithEnterStatement"); |
2556 CodeForStatementPosition(node); | 2558 CodeForStatementPosition(node); |
2557 Load(node->expression()); | 2559 Load(node->expression()); |
2558 Result context; | 2560 Result context; |
2559 if (node->is_catch_block()) { | 2561 if (node->is_catch_block()) { |
(...skipping 5410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
7970 | 7972 |
7971 int CompareStub::MinorKey() { | 7973 int CompareStub::MinorKey() { |
7972 // Encode the two parameters in a unique 16 bit value. | 7974 // Encode the two parameters in a unique 16 bit value. |
7973 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); | 7975 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); |
7974 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); | 7976 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); |
7975 } | 7977 } |
7976 | 7978 |
7977 #undef __ | 7979 #undef __ |
7978 | 7980 |
7979 } } // namespace v8::internal | 7981 } } // namespace v8::internal |
OLD | NEW |