• neis's avatar
    Disentangle assembler from isolate. · 94b088ca
    neis authored
    This is a first step towards moving Turbofan code generation off the main thread.
    
    Summary of the changes:
    - AssemblerBase no longer has a pointer to the isolate. Instead, its
      constructor receives the few things that it needs from the isolate (on most
      architectures this is just the serializer_enabled flag).
    - RelocInfo no longer has a pointer to the isolate. Instead, the functions
      that need it take it as an argument.  (There are currently still a few that
      implicitly access the isolate through a HeapObject.)
    - The MacroAssembler now explicitly holds a pointer to the isolate (before, it
      used to get it from the Assembler).
    - The jit_cookie also moved from AssemblerBase to the MacroAssemblers, since
      it's not used at all in the Assemblers.
    - A few architectures implemented parts of the Assembler with the help
      of a Codepatcher that is based on MacroAssembler.  Since the Assembler no
      longer has the isolate, but the MacroAssembler still needs it, this doesn't
      work anymore.  Instead, these Assemblers now use a new PatchingAssembler.
    
    BUG=v8:6048
    
    Review-Url: https://codereview.chromium.org/2732273003
    Cr-Commit-Position: refs/heads/master@{#43890}
    94b088ca
macro-assembler-ia32.h 41.8 KB