• Joyee Cheung's avatar
    [class] error when accessing unused static private method at debug time · f2fd4923
    Joyee Cheung authored
    At the moment when the static private method is unused
    in source code (either explicitly or through eval) but is accessed
    at runtime through the debugger, and there are no other potential
    references to the class variable in the source code otherwise,
    the reference to the class variable is lost here since the class
    variable would not be context-allocated, then we could not rebuild
    a proper brand check for it.
    
    For now, a ReferenceError would be thrown and the method is considered
    "optimized away", similar to how unused ordinary methods in closures
    work. Before this patch it would DCHECK when generating bytecode
    for the debugger instead of throwing errors.
    
    Bug: v8:9839, v8:8330
    Change-Id: I5d63131a7bdba141d01a3e6459bc27d0f5953c1a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2095637
    Commit-Queue: Joyee Cheung <joyee@igalia.com>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66734}
    f2fd4923
bytecode-generator.cc 249 KB