• Jaroslav Sevcik's avatar
    [generators] Store parameters in the generator object. · ea7499f5
    Jaroslav Sevcik authored
    Currently, we context allocate all parameters for generators.
    
    With this CL, we keep arguments on stack (unless they escape to inner
    closure) and copy them between the stack and the generator's register
    file on suspend/resume. This will save context allocation in most cases.
    
    Note: There is an asymmetry between suspend and resume.
    - Suspend copies arguments and registers to the generator.
    - Resume copies only the registers from the generator, the arguments
      are copied by the ResumeGenerator trampoline.
    
    Bug: v8:5164
    Change-Id: I6333898c60abf461b1ab1b5c6d3dc7188fa95649
    Reviewed-on: https://chromium-review.googlesource.com/1063712
    Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#53327}
    ea7499f5
js-operator.cc 53.3 KB