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

Unified Diff: runtime/vm/bootstrap.cc

Issue 2983823002: Improve hashCode for closures (Closed)
Patch Set: Error handling Created 3 years, 5 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
Index: runtime/vm/bootstrap.cc
diff --git a/runtime/vm/bootstrap.cc b/runtime/vm/bootstrap.cc
index 8aa507588ef391e294a31422004c79d288d3e23f..48a41656e4f6a950da73b0a4428f272981e00784 100644
--- a/runtime/vm/bootstrap.cc
+++ b/runtime/vm/bootstrap.cc
@@ -232,7 +232,7 @@ static void Finish(Thread* thread, bool from_kernel) {
#if defined(DEBUG)
// Verify that closure field offsets are identical in Dart and C++.
const Array& fields = Array::Handle(zone, cls.fields());
- ASSERT(fields.Length() == 4);
+ ASSERT(fields.Length() == 5);
Field& field = Field::Handle(zone);
field ^= fields.At(0);
ASSERT(field.Offset() == Closure::instantiator_type_arguments_offset());
@@ -242,6 +242,8 @@ static void Finish(Thread* thread, bool from_kernel) {
ASSERT(field.Offset() == Closure::function_offset());
field ^= fields.At(3);
ASSERT(field.Offset() == Closure::context_offset());
+ field ^= fields.At(4);
+ ASSERT(field.Offset() == Closure::hash_offset());
#endif // defined(DEBUG)
// Eagerly compile Bool class, bool constants are used from within compiler.
« no previous file with comments | « runtime/lib/function.dart ('k') | runtime/vm/bootstrap_natives.h » ('j') | runtime/vm/object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698