Changeset 239199 in webkit


Ignore:
Timestamp:
Dec 13, 2018 11:17:32 PM (5 years ago)
Author:
dinfuehr@igalia.com
Message:

Improve GDB output for LLInt on Linux
https://bugs.webkit.org/show_bug.cgi?id=192660

Reviewed by Yusuke Suzuki.

Annotate assembly code generated for LLInt with the bytecode operation. When debugging
LLInt assembly code GDB is then able to show which bytecode instruction is implemented by
the current assembly code. This also works for linux-perf.

  • llint/LowLevelInterpreter.cpp:
  • offlineasm/arm.rb:
Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r239198 r239199  
     12018-12-13  Dominik Infuehr  <dinfuehr@igalia.com>
     2
     3        Improve GDB output for LLInt on Linux
     4        https://bugs.webkit.org/show_bug.cgi?id=192660
     5
     6        Reviewed by Yusuke Suzuki.
     7
     8        Annotate assembly code generated for LLInt with the bytecode operation. When debugging
     9        LLInt assembly code GDB is then able to show which bytecode instruction is implemented by
     10        the current assembly code. This also works for linux-perf.
     11
     12        * llint/LowLevelInterpreter.cpp:
     13        * offlineasm/arm.rb:
     14
    1152018-12-13  Mark Lam  <mark.lam@apple.com>
    216
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp

    r237547 r239199  
    549549#define OFFLINE_ASM_OPCODE_LABEL(__opcode) \
    550550    EMBED_OPCODE_ID_IF_NEEDED(__opcode) \
     551    OFFLINE_ASM_OPCODE_DEBUG_LABEL(llint_##__opcode) \
    551552    OFFLINE_ASM_LOCAL_LABEL(llint_##__opcode)
    552553
     
    579580#define OFFLINE_ASM_LOCAL_LABEL(label)   LOCAL_LABEL_STRING(label) ":\n"
    580581
     582#if OS(LINUX)
     583#define OFFLINE_ASM_OPCODE_DEBUG_LABEL(label)  #label ":\n"
     584#else
     585#define OFFLINE_ASM_OPCODE_DEBUG_LABEL(label)
     586#endif
     587
    581588// This is a file generated by offlineasm, which contains all of the assembly code
    582589// for the interpreter, as compiled from LowLevelInterpreter.asm.
  • trunk/Source/JavaScriptCore/offlineasm/arm.rb

    r238439 r239199  
    684684
    685685            uid = $asm.newUID
    686             gotLabel = "L_offlineasm_arm_got_#{uid}"
    687             offsetLabel = "L_offlineasm_arm_got_offset_#{uid}"
     686            gotLabel = Assembler.localLabelReference("offlineasm_arm_got_#{uid}")
     687            offsetLabel = Assembler.localLabelReference("offlineasm_arm_got_offset_#{uid}")
    688688
    689689            $asm.puts "ldr #{dest.armOperand}, #{gotLabel}"
Note: See TracChangeset for help on using the changeset viewer.