OfflineASM Pretty printing and commenting enhancements.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jul 2012 00:44:47 +0000 (00:44 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Jul 2012 00:44:47 +0000 (00:44 +0000)
commit0cfd51f835fb1b5ff64e9a262e904933ac82ccf0
treef5ed1672e0adeda9eb6d9dffda1da68457136f5b
parenta12c4bdd892df53d653a88c0e062d4bd895fb57b
OfflineASM Pretty printing and commenting enhancements.
https://bugs.webkit.org/show_bug.cgi?id=91281

Patch by Mark Lam <mark.lam@apple.com> on 2012-07-13
Reviewed by Filip Pizlo.

Added some minor pretty printing in the OfflineASM.
Also added infrastruture for adding multiple types of comments and
annotations with the ability to enable/disable them in the generated
output as desired.

* GNUmakefile.list.am: add new file config.rb.
* llint/LLIntOfflineAsmConfig.h:
  Added OFFLINE_ASM_BEGIN, OFFLINE_ASM_END, and OFFLINE_ASM_LOCAL_LABEL macros.
  This will allow us to redefine these for other backends later.
* llint/LowLevelInterpreter32_64.asm:
  Add a small example of instruction annotations for now.
* llint/LowLevelInterpreter64.asm:
  Add a small example of instruction annotations for now.
* offlineasm/armv7.rb: Added handling of annotations.
* offlineasm/asm.rb:
  Added machinery to dump the new comments and annotations.
  Also added some indentations to make the output a little prettier.
* offlineasm/ast.rb: Added annotation field in class Instruction.
* offlineasm/backends.rb:
* offlineasm/config.rb: Added.
  Currently only contains commenting options.  This file is meant to be
  a centralized place for build config values much like config.h for
  JavaScriptCore.
* offlineasm/generate_offset_extractor.rb:
* offlineasm/instructions.rb:
* offlineasm/offsets.rb:
* offlineasm/opt.rb:
* offlineasm/parser.rb: Parse and record annotations.
* offlineasm/registers.rb:
* offlineasm/self_hash.rb:
* offlineasm/settings.rb:
* offlineasm/transform.rb:
* offlineasm/x86.rb: Added handling of annotations.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@122650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
20 files changed:
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/GNUmakefile.list.am
Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
Source/JavaScriptCore/offlineasm/armv7.rb
Source/JavaScriptCore/offlineasm/asm.rb
Source/JavaScriptCore/offlineasm/ast.rb
Source/JavaScriptCore/offlineasm/backends.rb
Source/JavaScriptCore/offlineasm/config.rb [new file with mode: 0644]
Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb
Source/JavaScriptCore/offlineasm/instructions.rb
Source/JavaScriptCore/offlineasm/offsets.rb
Source/JavaScriptCore/offlineasm/opt.rb
Source/JavaScriptCore/offlineasm/parser.rb
Source/JavaScriptCore/offlineasm/registers.rb
Source/JavaScriptCore/offlineasm/self_hash.rb
Source/JavaScriptCore/offlineasm/settings.rb
Source/JavaScriptCore/offlineasm/transform.rb
Source/JavaScriptCore/offlineasm/x86.rb