v8/test/cctest/interpreter/bytecode_expectations
Joyee Cheung 963ff849df [class] implement inspector support for private instance methods
This patch implements inspector support for private instance methods:

- Previously to implement brand checking for instances with private
  instance methods we store the brand both as the value with the brand
  itself as the key in the stances. Now we make the value the context
  associated with the class instead.
- To retrieve the private instance methods and accessors from the
  instances at runtime, we look into the contexts stored with the
  brands, and analyze the scope info to get the names as well as
  context slot indices of them.
- This patch extends the `PrivatePropertyDescriptor` in the inspector
  protocol to include optional `get` and `set` fields, and make the
  `value` field optional (similar to `PropertyDescriptor`s).
  Private fields or private instance methods are returned in the
  `value` field while private accessors are returned in the `get`
  and/or `set` field. Property previews for the instaces containing
  private instance methods and accessors are also updated similarly,
  although no additional protocol change is necessary since the
  `PropertyPreview` type can already be used to display accessors.

Design doc: https://docs.google.com/document/d/1N91LObhQexnB0eE7EvGe57HsvNMFX16CaWu-XCTnnmY/edit

Bug: v8:9839, v8:8330
Change-Id: If37090bd23833a18f75deb1249ca5c4405ca2bf2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1934407
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#65337}
2019-12-04 20:13:34 +00:00
..
ArrayLiterals.golden Extend GetIterator bytecode to perform JSReceiver check on object[Symbol.iterator]() 2019-09-12 08:51:35 +00:00
AssignmentsInBinaryExpression.golden
AsyncGenerators.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
AsyncModules.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
BasicBlockToBoolean.golden
BasicLoops.golden Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
BreakableBlocks.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
CallAndSpread.golden Extend GetIterator bytecode to perform JSReceiver check on object[Symbol.iterator]() 2019-09-12 08:51:35 +00:00
CallGlobal.golden
CallLookupSlot.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
CallNew.golden
CallRuntime.golden [cleanup] Drop spread.js for good. 2018-03-12 09:44:11 +00:00
ClassAndSuperClass.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ClassDeclarations.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
CompareNil.golden Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
CompareTypeOf.golden
CompoundExpressions.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
Conditional.golden
ConstVariable.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ConstVariableContextSlot.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ContextParameters.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ContextVariables.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
CountOperators.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
CreateArguments.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
CreateRestParameter.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
DeadCodeRemoval.golden
DeclareGlobals.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
Delete.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
DeleteLookupSlotInEval.golden
DestructuringAssignment.golden [regexp] Improve String.prototype.matchAll error message 2019-10-24 01:54:58 +00:00
DoDebugger.golden
Eval.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ForAwaitOf.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ForIn.golden [interpreter] add JumpIfUndefinedOrNull 2019-08-08 16:44:35 +00:00
ForOf.golden [regexp] Improve String.prototype.matchAll error message 2019-10-24 01:54:58 +00:00
ForOfLoop.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
FunctionLiterals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
GenerateTestUndetectable.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
Generators.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
GlobalCompoundExpressions.golden
GlobalCountOperators.golden
GlobalDelete.golden
HeapNumberConstants.golden
IfConditions.golden Reland "Optimize in operator" 2019-03-01 09:01:18 +00:00
IIFEWithOneshotOpt.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
IIFEWithoutOneshotOpt.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
IntegerConstants.golden
LetVariable.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
LetVariableContextSlot.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
LoadGlobal.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
LogicalExpressions.golden
LookupSlot.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
LookupSlotInEval.golden
Modules.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
NewAndSpread.golden [class] implement static private methods 2019-10-10 15:34:44 +00:00
NewTarget.golden
ObjectLiterals.golden Allocate feedback cells in an array decoupled from other slots 2019-03-11 11:20:21 +00:00
OuterContextVariables.golden Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
Parameters.golden
PrimitiveExpressions.golden
PrimitiveReturnStatements.golden
PrivateAccessorAccess.golden [class] implement inspector support for private instance methods 2019-12-04 20:13:34 +00:00
PrivateAccessorDeclaration.golden [class] exclude brand symbols in JSReceiver::GetPrivateEntries 2019-11-11 23:40:47 +00:00
PrivateClassFields.golden Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
PrivateMethodAccess.golden [class] implement inspector support for private instance methods 2019-12-04 20:13:34 +00:00
PrivateMethodDeclaration.golden [class] exclude brand symbols in JSReceiver::GetPrivateEntries 2019-11-11 23:40:47 +00:00
PropertyCall.golden [Interpreter] Enable sharing of load / store named property feedback 2018-06-05 09:21:59 +00:00
PropertyLoads.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
PropertyLoadStoreOneShot.golden Reland "[interpreter] Separate bytecodes for one-shot property loads and stores" 2018-09-27 13:56:53 +00:00
PropertyLoadStoreWithoutOneShot.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00
PropertyStores.golden [Interpreter] Enable sharing of load / store named property feedback 2018-06-05 09:21:59 +00:00
PublicClassFields.golden Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
RegExpLiterals.golden
RemoveRedundantLdar.golden
StandardForLoop.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
StaticClassFields.golden Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
StaticPrivateMethodAccess.golden Reland x3 "[runtime] Remove extension slots from context objects" 2019-10-22 14:26:02 +00:00
StaticPrivateMethodDeclaration.golden [class] exclude brand symbols in JSReceiver::GetPrivateEntries 2019-11-11 23:40:47 +00:00
StoreGlobal.golden [Interpreter] Share feedback slots for load / store named properties 2018-05-14 10:21:42 +00:00
StringConcat.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
StringConstants.golden
SuperCallAndSpread.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
Switch.golden
TemplateLiterals.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
ThisFunction.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
Throw.golden
TopLevelObjectLiterals.golden [interpreter] Move function-entry stack check to start of bytecode array 2019-11-11 15:00:09 +00:00
TryCatch.golden Reland "[ignition] Skip binding dead labels" 2019-02-28 14:06:15 +00:00
TryFinally.golden Remove the catch variable name from the extension field of catch contexts 2018-05-04 10:12:08 +00:00
Typeof.golden
UnaryOperators.golden
WideRegisters.golden [interpreter] add JumpIfUndefinedOrNull 2019-08-08 16:44:35 +00:00
WithStatement.golden [interpreter] Store CreateObjectLiteral's result into the accumulator. 2018-11-08 10:31:45 +00:00