• Junliang Yan's avatar
    PPC/s390: Reland: [builtins] Patch self-references in constants table · e0d2c6c2
    Junliang Yan authored
    Port ab9e0124
    
    Original Commit Message:
    
        Original CL: https://crrev.com/c/1018468
    
        During code generation, we generate self-references (i.e. references to
        the Code object currently being generated) as references to a temporary
        handle. When the final Code object has been allocated, the handle's
        location is fixed up and RelocInfo iteration fixes up all references
        embedded in the generated code.
    
        This adds support for this mechanism to the builtins constants table
        builder. CodeObject() is now a new handle pointing to a dedicated
        self-reference marker in order to distinguish between self-references
        and references to undefined. In Factory::NewCode, we patch up
        the constants table.
    
    R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: Iba0f4435125b9d6c3fda7fc3e9836494b6eb6f45
    Reviewed-on: https://chromium-review.googlesource.com/1042216Reviewed-by: 's avatarJoran Siu <joransiu@ca.ibm.com>
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Cr-Commit-Position: refs/heads/master@{#52969}
    e0d2c6c2
macro-assembler-ppc.h 44.3 KB