v8/test/cctest/interpreter
Marja Hölttä f6450b97ec Reland [super] Store home object in Context instead of JSFunction
1) Computed property keys (esp functions in them) shouldn't be inside
the object literal scope.

2) I was using an imprecise "maybe uses super" and storing it to
preparse data. This won't fly, since it pollutes sister scopes and
leads to confusion wrt whether an object literal needs a home object
or not. Made it precise (mostly cancelling changes in the original CL).

3) PreParser::NewSuperPropertyReference was creating a VariableProxy for
this_function (which made it used) -> inconsistent scopes between
parsing and preparsing.

4) MultipleEntryBlockContextScope was messing up the accumulator

Original: https://chromium-review.googlesource.com/c/v8/v8/+/2563275

This saves memory (the home object doesn't need to be stored for each
method, but only once per class) and hopefully makes the home object
a constant in the optimized code.

Detailed documentation of the changes:
https://docs.google.com/document/d/1ZVXcoQdf9IdMsnRI9iyUjyq9NDoEyx9nA3XqMgwflMs/edit?usp=sharing

Bug: v8:9237, chromium:1167918, chromium:1167981, chromium:1167988, chromium:1168055
Change-Id: I4f53f18cc18762c33e53d8c802909b42f1c33538
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637220
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72169}
2021-01-19 17:05:01 +00:00
..
bytecode_expectations Reland [super] Store home object in Context instead of JSFunction 2021-01-19 17:05:01 +00:00
bytecode-expectations-printer.cc [api] Make ScriptOrigin take isolate as parameter 2021-01-14 23:51:04 +00:00
bytecode-expectations-printer.h [cleanup] Eliminate non-const reference parameters 2019-09-10 09:31:07 +00:00
generate-bytecode-expectations.cc [config] Add V8_NODISCARD for Scope classes 2020-11-26 11:08:45 +00:00
interpreter-tester.cc [runtime] Move string table off-heap 2020-08-06 12:27:18 +00:00
interpreter-tester.h [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{cctest,fuzzer,inspector} 2020-11-10 01:24:43 +00:00
source-position-matcher.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
source-position-matcher.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bytecode-generator.cc [config] Add V8_NODISCARD for Scope classes 2020-11-26 11:08:45 +00:00
test-interpreter-intrinsics.cc [cleanup] Remove V8_REVERSE_JSARGS flag 2020-10-14 12:25:06 +00:00
test-interpreter.cc [TurboFan] Templatize GetBytecodeArray 2020-12-17 16:46:53 +00:00
test-source-positions.cc [TurboFan] Templatize GetBytecodeArray 2020-12-17 16:46:53 +00:00