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

Side by Side Diff: runtime/vm/deopt_instructions.cc

Issue 1390153004: Move deopt_id and related helpers/definitions from Isolate to Thread (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/deopt_instructions.h" 5 #include "vm/deopt_instructions.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 #include "vm/code_patcher.h" 8 #include "vm/code_patcher.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/intermediate_language.h" 10 #include "vm/intermediate_language.h"
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after
819 819
820 820
821 uword DeoptInstr::GetRetAddress(DeoptInstr* instr, 821 uword DeoptInstr::GetRetAddress(DeoptInstr* instr,
822 const ObjectPool& object_table, 822 const ObjectPool& object_table,
823 Code* code) { 823 Code* code) {
824 ASSERT(instr->kind() == kRetAddress); 824 ASSERT(instr->kind() == kRetAddress);
825 DeoptRetAddressInstr* ret_address_instr = 825 DeoptRetAddressInstr* ret_address_instr =
826 static_cast<DeoptRetAddressInstr*>(instr); 826 static_cast<DeoptRetAddressInstr*>(instr);
827 // The following assert may trigger when displaying a backtrace 827 // The following assert may trigger when displaying a backtrace
828 // from the simulator. 828 // from the simulator.
829 ASSERT(Isolate::IsDeoptAfter(ret_address_instr->deopt_id())); 829 ASSERT(Thread::IsDeoptAfter(ret_address_instr->deopt_id()));
830 ASSERT(!object_table.IsNull()); 830 ASSERT(!object_table.IsNull());
831 Thread* thread = Thread::Current(); 831 Thread* thread = Thread::Current();
832 Zone* zone = thread->zone(); 832 Zone* zone = thread->zone();
833 Function& function = Function::Handle(zone); 833 Function& function = Function::Handle(zone);
834 function ^= object_table.ObjectAt(ret_address_instr->object_table_index()); 834 function ^= object_table.ObjectAt(ret_address_instr->object_table_index());
835 ASSERT(code != NULL); 835 ASSERT(code != NULL);
836 const Error& error = Error::Handle(zone, 836 const Error& error = Error::Handle(zone,
837 Compiler::EnsureUnoptimizedCode(thread, function)); 837 Compiler::EnsureUnoptimizedCode(thread, function));
838 if (!error.IsNull()) { 838 if (!error.IsNull()) {
839 Exceptions::PropagateError(error); 839 Exceptions::PropagateError(error);
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 Smi* offset, 1305 Smi* offset,
1306 TypedData* info, 1306 TypedData* info,
1307 Smi* reason) { 1307 Smi* reason) {
1308 intptr_t i = index * kEntrySize; 1308 intptr_t i = index * kEntrySize;
1309 *offset ^= table.At(i); 1309 *offset ^= table.At(i);
1310 *info ^= table.At(i + 1); 1310 *info ^= table.At(i + 1);
1311 *reason ^= table.At(i + 2); 1311 *reason ^= table.At(i + 2);
1312 } 1312 }
1313 1313
1314 } // namespace dart 1314 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698