WebKit Bugzilla
Attachment 357223 Details for
Bug 192660
: Improve GDB output for LLInt on Linux
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192660-20181213130810.patch (text/plain), 2.88 KB, created by
Dominik Inführ
on 2018-12-13 04:08:12 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Dominik Inführ
Created:
2018-12-13 04:08:12 PST
Size:
2.88 KB
patch
obsolete
>Subversion Revision: 239154 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 768a9b529d233873720e9c658a6e8cd1cef479f1..085bc914fc2de16a34c5b1c5727a51e35950dfef 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,17 @@ >+2018-12-13 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Improve GDB output for LLInt on Linux >+ https://bugs.webkit.org/show_bug.cgi?id=192660 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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: >+ > 2018-12-13 Yusuke Suzuki <yusukesuzuki@slowstart.org> > > Unreviewed, build fix after r239153 >diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp >index cebfe8b1be8aa10998e7da141f108a1842cf9b51..83ad6c97f1346ab519579185d0a5565dee62521f 100644 >--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp >+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp >@@ -548,6 +548,7 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, > > #define OFFLINE_ASM_OPCODE_LABEL(__opcode) \ > EMBED_OPCODE_ID_IF_NEEDED(__opcode) \ >+ OFFLINE_ASM_OPCODE_DEBUG_LABEL(llint_##__opcode) \ > OFFLINE_ASM_LOCAL_LABEL(llint_##__opcode) > > #define OFFLINE_ASM_GLUE_LABEL(__opcode) OFFLINE_ASM_LOCAL_LABEL(__opcode) >@@ -578,6 +579,12 @@ JSValue CLoop::execute(OpcodeID entryOpcodeID, void* executableAddress, VM* vm, > > #define OFFLINE_ASM_LOCAL_LABEL(label) LOCAL_LABEL_STRING(label) ":\n" > >+#if OS(LINUX) >+#define OFFLINE_ASM_OPCODE_DEBUG_LABEL(label) #label ":\n" >+#else >+#define OFFLINE_ASM_OPCODE_DEBUG_LABEL(label) >+#endif >+ > // This is a file generated by offlineasm, which contains all of the assembly code > // for the interpreter, as compiled from LowLevelInterpreter.asm. > #include "LLIntAssembly.h" >diff --git a/Source/JavaScriptCore/offlineasm/arm.rb b/Source/JavaScriptCore/offlineasm/arm.rb >index b0c33627d10872279e0811c4f4a7ecad41e5fc67..d78b82eef81fe3c61930f0f4cff6e0a6d386b4cd 100644 >--- a/Source/JavaScriptCore/offlineasm/arm.rb >+++ b/Source/JavaScriptCore/offlineasm/arm.rb >@@ -683,8 +683,8 @@ class Instruction > temp = operands[2] > > uid = $asm.newUID >- gotLabel = "L_offlineasm_arm_got_#{uid}" >- offsetLabel = "L_offlineasm_arm_got_offset_#{uid}" >+ gotLabel = Assembler.localLabelReference("offlineasm_arm_got_#{uid}") >+ offsetLabel = Assembler.localLabelReference("offlineasm_arm_got_offset_#{uid}") > > $asm.puts "ldr #{dest.armOperand}, #{gotLabel}" > $asm.puts "ldr #{temp.armOperand}, #{gotLabel}+4"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192660
:
357220
| 357223