summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/offlineasm/ast.rb
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-23 09:28:44 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-23 09:28:44 +0200
commit815f1ed417bd26fbe2abbdf20ac5d3423b30796c (patch)
tree923c9a9e2834ccab60f5caecfb8f0ac410c1dd9e /Source/JavaScriptCore/offlineasm/ast.rb
parentb4ad5d9d2b96baacd0180ead50de5195ca78af2d (diff)
downloadqtwebkit-815f1ed417bd26fbe2abbdf20ac5d3423b30796c.tar.gz
Imported WebKit commit e65cbc5b6ac32627c797e7fc7f46eb7794410c92 (http://svn.webkit.org/repository/webkit/trunk@123308)
New snapshot with better configure tests
Diffstat (limited to 'Source/JavaScriptCore/offlineasm/ast.rb')
-rw-r--r--Source/JavaScriptCore/offlineasm/ast.rb20
1 files changed, 16 insertions, 4 deletions
diff --git a/Source/JavaScriptCore/offlineasm/ast.rb b/Source/JavaScriptCore/offlineasm/ast.rb
index 86ad6bcb2..9333247dc 100644
--- a/Source/JavaScriptCore/offlineasm/ast.rb
+++ b/Source/JavaScriptCore/offlineasm/ast.rb
@@ -806,6 +806,17 @@ class Instruction < Node
def dump
"\t" + opcode.to_s + " " + operands.collect{|v| v.dump}.join(", ")
end
+
+ def lowerDefault
+ case opcode
+ when "localAnnotation"
+ $asm.putLocalAnnotation
+ when "globalAnnotation"
+ $asm.putGlobalAnnotation
+ else
+ raise "Unhandled opcode #{opcode} at #{codeOriginString}"
+ end
+ end
end
class Error < NoChildren
@@ -1180,7 +1191,7 @@ end
class Macro < Node
attr_reader :name, :variables, :body
-
+
def initialize(codeOrigin, name, variables, body)
super(codeOrigin)
@name = name
@@ -1202,14 +1213,15 @@ class Macro < Node
end
class MacroCall < Node
- attr_reader :name, :operands
+ attr_reader :name, :operands, :annotation
- def initialize(codeOrigin, name, operands)
+ def initialize(codeOrigin, name, operands, annotation)
super(codeOrigin)
@name = name
@operands = operands
raise unless @operands
@operands.each{|v| raise unless v}
+ @annotation = annotation
end
def children
@@ -1217,7 +1229,7 @@ class MacroCall < Node
end
def mapChildren(&proc)
- MacroCall.new(codeOrigin, @name, @operands.map(&proc))
+ MacroCall.new(codeOrigin, @name, @operands.map(&proc), @annotation)
end
def dump