Merge V8 5.2.361.47 DO NOT MERGE
https://chromium.googlesource.com/v8/v8/+/5.2.361.47
FPIIM-449
Change-Id: Ibec421b85a9b88cb3a432ada642e469fe7e78346
(cherry picked from commit bcf72ee8e3b26f1d0726869c7ddb3921c68b09a8)
diff --git a/src/contexts.cc b/src/contexts.cc
index 67a9fea..392a3cc 100644
--- a/src/contexts.cc
+++ b/src/contexts.cc
@@ -184,29 +184,24 @@
switch (mode) {
case VAR:
*attributes = NONE;
- *binding_flags = MUTABLE_IS_INITIALIZED;
+ *binding_flags = BINDING_IS_INITIALIZED;
break;
case LET:
*attributes = NONE;
*binding_flags = (init_flag == kNeedsInitialization)
- ? MUTABLE_CHECK_INITIALIZED
- : MUTABLE_IS_INITIALIZED;
+ ? BINDING_CHECK_INITIALIZED
+ : BINDING_IS_INITIALIZED;
break;
case CONST_LEGACY:
+ DCHECK_EQ(kCreatedInitialized, init_flag);
*attributes = READ_ONLY;
- *binding_flags = (init_flag == kNeedsInitialization)
- ? IMMUTABLE_CHECK_INITIALIZED
- : IMMUTABLE_IS_INITIALIZED;
+ *binding_flags = BINDING_IS_INITIALIZED;
break;
case CONST:
*attributes = READ_ONLY;
*binding_flags = (init_flag == kNeedsInitialization)
- ? IMMUTABLE_CHECK_INITIALIZED_HARMONY
- : IMMUTABLE_IS_INITIALIZED_HARMONY;
- break;
- case IMPORT:
- // TODO(ES6)
- UNREACHABLE();
+ ? BINDING_CHECK_INITIALIZED
+ : BINDING_IS_INITIALIZED;
break;
case DYNAMIC:
case DYNAMIC_GLOBAL:
@@ -362,8 +357,7 @@
*index = function_index;
*attributes = READ_ONLY;
DCHECK(mode == CONST_LEGACY || mode == CONST);
- *binding_flags = (mode == CONST_LEGACY)
- ? IMMUTABLE_IS_INITIALIZED : IMMUTABLE_IS_INITIALIZED_HARMONY;
+ *binding_flags = BINDING_IS_INITIALIZED;
return context;
}
}
@@ -376,7 +370,7 @@
}
*index = Context::THROWN_OBJECT_INDEX;
*attributes = NONE;
- *binding_flags = MUTABLE_IS_INITIALIZED;
+ *binding_flags = BINDING_IS_INITIALIZED;
return context;
}
} else if (context->IsDebugEvaluateContext()) {
@@ -466,7 +460,7 @@
found = true;
break;
}
- context = Context::cast(context)->get(Context::NEXT_CONTEXT_LINK);
+ context = Context::cast(context)->next_context_link();
}
CHECK(found);
#endif