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

Unified Diff: src/runtime/runtime-scopes.cc

Issue 2051073004: Remove more dead code now that legacy const is gone (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix x64 build, add mips64 Created 4 years, 6 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 | « src/interpreter/bytecode-generator.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/runtime/runtime-scopes.cc
diff --git a/src/runtime/runtime-scopes.cc b/src/runtime/runtime-scopes.cc
index 04c59f2f88b0ca44ea214f42473afaca8a3b4adc..4363190e3d029c10eb0e3c7c2831cbbe7e124244 100644
--- a/src/runtime/runtime-scopes.cc
+++ b/src/runtime/runtime-scopes.cc
@@ -34,7 +34,7 @@ RUNTIME_FUNCTION(Runtime_ThrowConstAssignError) {
static Object* DeclareGlobals(Isolate* isolate, Handle<JSGlobalObject> global,
Handle<String> name, Handle<Object> value,
PropertyAttributes attr, bool is_var,
- bool is_const, bool is_function) {
+ bool is_function) {
Handle<ScriptContextTable> script_contexts(
global->native_context()->script_context_table());
ScriptContextTable::LookupResult lookup;
@@ -51,7 +51,6 @@ static Object* DeclareGlobals(Isolate* isolate, Handle<JSGlobalObject> global,
if (it.IsFound()) {
PropertyAttributes old_attributes = maybe.FromJust();
// The name was declared before; check for conflicting re-declarations.
- if (is_const) return ThrowRedeclarationError(isolate, name);
// Skip var re-declarations.
if (is_var) return isolate->heap()->undefined_value();
@@ -106,14 +105,9 @@ RUNTIME_FUNCTION(Runtime_DeclareGlobals) {
Handle<String> name(String::cast(pairs->get(i)));
Handle<Object> initial_value(pairs->get(i + 1), isolate);
- // We have to declare a global const property. To capture we only
- // assign to it when evaluating the assignment for "const x =
- // <expr>" the initial value is the hole.
bool is_var = initial_value->IsUndefined(isolate);
- bool is_const = initial_value->IsTheHole(isolate);
bool is_function = initial_value->IsSharedFunctionInfo();
- DCHECK_EQ(1,
- BoolToInt(is_var) + BoolToInt(is_const) + BoolToInt(is_function));
+ DCHECK_EQ(1, BoolToInt(is_var) + BoolToInt(is_function));
Handle<Object> value;
if (is_function) {
@@ -133,13 +127,12 @@ RUNTIME_FUNCTION(Runtime_DeclareGlobals) {
bool is_native = DeclareGlobalsNativeFlag::decode(flags);
bool is_eval = DeclareGlobalsEvalFlag::decode(flags);
int attr = NONE;
- if (is_const) attr |= READ_ONLY;
if (is_function && is_native) attr |= READ_ONLY;
- if (!is_const && !is_eval) attr |= DONT_DELETE;
+ if (!is_eval) attr |= DONT_DELETE;
Object* result = DeclareGlobals(isolate, global, name, value,
static_cast<PropertyAttributes>(attr),
- is_var, is_const, is_function);
+ is_var, is_function);
if (isolate->has_pending_exception()) return result;
});
@@ -210,10 +203,8 @@ Object* DeclareLookupSlot(Isolate* isolate, Handle<String> name,
// TODO(verwaest): Unify the encoding indicating "var" with DeclareGlobals.
bool is_var = *initial_value == NULL;
- bool is_const = initial_value->IsTheHole(isolate);
bool is_function = initial_value->IsJSFunction();
- DCHECK_EQ(1,
- BoolToInt(is_var) + BoolToInt(is_const) + BoolToInt(is_function));
+ DCHECK_EQ(1, BoolToInt(is_var) + BoolToInt(is_function));
int index;
PropertyAttributes attributes;
@@ -245,24 +236,24 @@ Object* DeclareLookupSlot(Isolate* isolate, Handle<String> name,
// but by DeclareGlobals instead.
if (attributes != ABSENT && holder->IsJSGlobalObject()) {
return DeclareGlobals(isolate, Handle<JSGlobalObject>::cast(holder), name,
- value, attr, is_var, is_const, is_function);
+ value, attr, is_var, is_function);
}
if (context_arg->extension()->IsJSGlobalObject()) {
Handle<JSGlobalObject> global(
JSGlobalObject::cast(context_arg->extension()), isolate);
- return DeclareGlobals(isolate, global, name, value, attr, is_var, is_const,
+ return DeclareGlobals(isolate, global, name, value, attr, is_var,
is_function);
} else if (context->IsScriptContext()) {
DCHECK(context->global_object()->IsJSGlobalObject());
Handle<JSGlobalObject> global(
JSGlobalObject::cast(context->global_object()), isolate);
- return DeclareGlobals(isolate, global, name, value, attr, is_var, is_const,
+ return DeclareGlobals(isolate, global, name, value, attr, is_var,
is_function);
}
if (attributes != ABSENT) {
// The name was declared before; check for conflicting re-declarations.
- if (is_const || (attributes & READ_ONLY) != 0) {
+ if ((attributes & READ_ONLY) != 0) {
return ThrowRedeclarationError(isolate, name);
}
« no previous file with comments | « src/interpreter/bytecode-generator.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698