Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: src/deoptimizer.cc

Issue 16848020: Always reset allowed OSR nesting level when reverting interrupt code patches. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 2411 matching lines...) Expand 10 before | Expand all | Expand 10 after
2422 uint32_t pc_offset = Memory::uint32_at(back_edge_cursor + kIntSize); 2422 uint32_t pc_offset = Memory::uint32_at(back_edge_cursor + kIntSize);
2423 Address pc_after = unoptimized_code->instruction_start() + pc_offset; 2423 Address pc_after = unoptimized_code->instruction_start() + pc_offset;
2424 RevertInterruptCodeAt(unoptimized_code, 2424 RevertInterruptCodeAt(unoptimized_code,
2425 pc_after, 2425 pc_after,
2426 interrupt_code, 2426 interrupt_code,
2427 replacement_code); 2427 replacement_code);
2428 } 2428 }
2429 back_edge_cursor += FullCodeGenerator::kBackEdgeEntrySize; 2429 back_edge_cursor += FullCodeGenerator::kBackEdgeEntrySize;
2430 } 2430 }
2431 unoptimized_code->set_back_edges_patched_for_osr(false); 2431 unoptimized_code->set_back_edges_patched_for_osr(false);
2432 unoptimized_code->set_allow_osr_at_loop_nesting_level(0);
2432 #ifdef DEBUG 2433 #ifdef DEBUG
2433 // Assert that none of the back edges are patched anymore. 2434 // Assert that none of the back edges are patched anymore.
2434 Deoptimizer::VerifyInterruptCode( 2435 Deoptimizer::VerifyInterruptCode(
2435 unoptimized_code, interrupt_code, replacement_code, -1); 2436 unoptimized_code, interrupt_code, replacement_code, -1);
2436 #endif // DEBUG 2437 #endif // DEBUG
2437 } 2438 }
2438 2439
2439 2440
2440 #ifdef DEBUG 2441 #ifdef DEBUG
2441 void Deoptimizer::VerifyInterruptCode(Code* unoptimized_code, 2442 void Deoptimizer::VerifyInterruptCode(Code* unoptimized_code,
(...skipping 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
3109 3110
3110 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { 3111 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) {
3111 v->VisitPointer(BitCast<Object**>(&function_)); 3112 v->VisitPointer(BitCast<Object**>(&function_));
3112 v->VisitPointers(parameters_, parameters_ + parameters_count_); 3113 v->VisitPointers(parameters_, parameters_ + parameters_count_);
3113 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); 3114 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_);
3114 } 3115 }
3115 3116
3116 #endif // ENABLE_DEBUGGER_SUPPORT 3117 #endif // ENABLE_DEBUGGER_SUPPORT
3117 3118
3118 } } // namespace v8::internal 3119 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698