Skip to content

Instantly share code, notes, and snippets.

@Zirak
Created March 17, 2017 14:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Zirak/db9d5d9f1f88a4a34b1aebe572aea792 to your computer and use it in GitHub Desktop.
Save Zirak/db9d5d9f1f88a4a34b1aebe572aea792 to your computer and use it in GitHub Desktop.
diff --git a/src/ast/scopes.h b/src/ast/scopes.h
index 4e433d9..35930db 100644
--- a/src/ast/scopes.h
+++ b/src/ast/scopes.h
@@ -641,10 +641,7 @@ class V8_EXPORT_PRIVATE DeclarationScope : public Scope {
bool uses_super_property() const { return scope_uses_super_property_; }
bool NeedsHomeObject() const {
- return scope_uses_super_property_ ||
- (inner_scope_calls_eval_ && (IsConciseMethod(function_kind()) ||
- IsAccessorFunction(function_kind()) ||
- IsClassConstructor(function_kind())));
+ return true;
}
bool was_lazily_parsed() const { return was_lazily_parsed_; }
diff --git a/src/bootstrapper.cc b/src/bootstrapper.cc
index d67985a..f7ce348 100644
--- a/src/bootstrapper.cc
+++ b/src/bootstrapper.cc
@@ -1806,6 +1806,8 @@ void Genesis::InitializeGlobal(Handle<JSGlobalObject> global_object,
InstallConstant(isolate, symbol_fun, "split", factory->split_symbol());
InstallConstant(isolate, symbol_fun, "toPrimitive",
factory->to_primitive_symbol());
+ InstallConstant(isolate, symbol_fun, "homeObject",
+ factory->home_object_symbol());
InstallConstant(isolate, symbol_fun, "toStringTag",
factory->to_string_tag_symbol());
InstallConstant(isolate, symbol_fun, "unscopables",
diff --git a/src/heap-symbols.h b/src/heap-symbols.h
index 49285ee..12fde82 100644
--- a/src/heap-symbols.h
+++ b/src/heap-symbols.h
@@ -202,7 +202,6 @@
V(error_start_pos_symbol) \
V(frozen_symbol) \
V(hash_code_symbol) \
- V(home_object_symbol) \
V(intl_initialized_marker_symbol) \
V(intl_pattern_symbol) \
V(intl_resolved_symbol) \
@@ -235,6 +234,7 @@
V(species_symbol, Symbol.species) \
V(split_symbol, Symbol.split) \
V(to_primitive_symbol, Symbol.toPrimitive) \
+ V(home_object_symbol, Symbol.homeObject) \
V(unscopables_symbol, Symbol.unscopables)
// Well-Known Symbols are "Public" symbols, which have a bit set which causes
@amlbenny
Copy link

xxx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment