| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/deoptimizer.h" | 5 #include "src/deoptimizer.h" |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/ast/prettyprinter.h" | 8 #include "src/ast/prettyprinter.h" |
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
| 10 #include "src/disasm.h" | 10 #include "src/disasm.h" |
| (...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 // Move the code to the _deoptimized_ code list. | 376 // Move the code to the _deoptimized_ code list. |
| 377 code->set_next_code_link(context->DeoptimizedCodeListHead()); | 377 code->set_next_code_link(context->DeoptimizedCodeListHead()); |
| 378 context->SetDeoptimizedCodeListHead(code); | 378 context->SetDeoptimizedCodeListHead(code); |
| 379 } else { | 379 } else { |
| 380 // Not marked; preserve this element. | 380 // Not marked; preserve this element. |
| 381 prev = code; | 381 prev = code; |
| 382 } | 382 } |
| 383 element = next; | 383 element = next; |
| 384 } | 384 } |
| 385 | 385 |
| 386 // TODO(titzer): we need a handle scope only because of the macro assembler, | 386 // We need a handle scope only because of the macro assembler, |
| 387 // which is only used in EnsureCodeForDeoptimizationEntry. | 387 // which is used in code patching in EnsureCodeForDeoptimizationEntry. |
| 388 HandleScope scope(isolate); | 388 HandleScope scope(isolate); |
| 389 | 389 |
| 390 // Now patch all the codes for deoptimization. | 390 // Now patch all the codes for deoptimization. |
| 391 for (int i = 0; i < codes.length(); i++) { | 391 for (int i = 0; i < codes.length(); i++) { |
| 392 #ifdef DEBUG | 392 #ifdef DEBUG |
| 393 if (codes[i] == topmost_optimized_code) { | 393 if (codes[i] == topmost_optimized_code) { |
| 394 DCHECK(safe_to_deopt_topmost_optimized_code); | 394 DCHECK(safe_to_deopt_topmost_optimized_code); |
| 395 } | 395 } |
| 396 #endif | 396 #endif |
| 397 // It is finally time to die, code object. | 397 // It is finally time to die, code object. |
| (...skipping 3403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3801 DCHECK(value_info->IsMaterializedObject()); | 3801 DCHECK(value_info->IsMaterializedObject()); |
| 3802 | 3802 |
| 3803 value_info->value_ = | 3803 value_info->value_ = |
| 3804 Handle<Object>(previously_materialized_objects->get(i), isolate_); | 3804 Handle<Object>(previously_materialized_objects->get(i), isolate_); |
| 3805 } | 3805 } |
| 3806 } | 3806 } |
| 3807 } | 3807 } |
| 3808 | 3808 |
| 3809 } // namespace internal | 3809 } // namespace internal |
| 3810 } // namespace v8 | 3810 } // namespace v8 |
| OLD | NEW |