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

Unified Diff: runtime/vm/intermediate_language.cc

Issue 15470013: Remove the IC data array from the isolate. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/isolate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/intermediate_language.cc
diff --git a/runtime/vm/intermediate_language.cc b/runtime/vm/intermediate_language.cc
index 052b3c73ca60b1d2c9839fa99845d881194b09f4..ed56e356a6d7ea6c6c299ec5ad41eb56ced3aeb0 100644
--- a/runtime/vm/intermediate_language.cc
+++ b/runtime/vm/intermediate_language.cc
@@ -42,6 +42,17 @@ Definition::Definition()
}
+ICData* Instruction::GetICData(const Array& ic_data_array) const {
+ ICData& ic_data = ICData::ZoneHandle();
+ // The deopt_id can be outside the range of the IC data array for
+ // computations added in the optimizing compiler.
+ if (!ic_data_array.IsNull() && (deopt_id_ < ic_data_array.Length())) {
+ ic_data ^= ic_data_array.At(deopt_id_);
+ }
+ return &ic_data;
+}
+
+
intptr_t Instruction::Hashcode() const {
intptr_t result = tag();
for (intptr_t i = 0; i < InputCount(); ++i) {
« no previous file with comments | « runtime/vm/intermediate_language.h ('k') | runtime/vm/isolate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698