Changeset 281541 in webkit for trunk/Source/JavaScriptCore/offlineasm
- Timestamp:
- Aug 24, 2021, 7:34:38 PM (4 years ago)
- Location:
- trunk/Source/JavaScriptCore/offlineasm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/offlineasm/ast.rb
r281496 r281541 945 945 $asm.putGlobalAnnotation 946 946 when "emit" 947 $asm.puts "#{operands[0].dump}" 947 str = ""; 948 for operand in operands do 949 if (operand.is_a? LocalLabelReference) 950 str += operand.asmLabel 951 else 952 str += "#{operand.dump}" 953 end 954 end 955 $asm.puts "#{str}" 948 956 when "tagCodePtr", "tagReturnAddress", "untagReturnAddress", "removeCodePtrTag", "untagArrayPtr", "removeArrayPtrTag" 949 957 else -
trunk/Source/JavaScriptCore/offlineasm/parser.rb
r281496 r281541 201 201 when /\A".*"/ 202 202 result << Token.new(CodeOrigin.new(file, lineNumber), $&) 203 when /\?/ 204 result << Token.new(CodeOrigin.new(file, lineNumber), $&) 203 205 else 204 206 raise "Lexer error at #{CodeOrigin.new(file, lineNumber).to_s}, unexpected sequence #{str[0..20].inspect}" … … 262 264 @idx = 0 263 265 @annotation = nil 266 # FIXME: CMake does not currently set BUILT_PRODUCTS_DIR. 267 # https://bugs.webkit.org/show_bug.cgi?id=229340 268 @buildProductsDirectory = ENV['BUILT_PRODUCTS_DIR']; 264 269 end 265 270 … … 818 823 elsif @tokens[@idx] == "include" 819 824 @idx += 1 825 isOptional = false 826 if @tokens[@idx] == "?" 827 isOptional = true 828 @idx += 1 829 end 820 830 parseError unless isIdentifier(@tokens[@idx]) 821 831 moduleName = @tokens[@idx].string 822 fileName = IncludeFile.new(moduleName, @tokens[@idx].codeOrigin.fileName.dirname).fileName 823 @idx += 1 824 list << parse(fileName) 832 @idx += 1 833 additionsDirectoryName = "#{@buildProductsDirectory}/usr/local/include/WebKitAdditions/" 834 fileName = IncludeFile.new(moduleName, additionsDirectoryName).fileName 835 if not File.exists?(fileName) 836 fileName = IncludeFile.new(moduleName, @tokens[@idx].codeOrigin.fileName.dirname).fileName 837 end 838 fileExists = File.exists?(fileName) 839 raise "File not found: #{fileName}" if not fileExists and not isOptional 840 list << parse(fileName) if fileExists 825 841 else 826 842 parseError "Expecting terminal #{final} #{comment}" … … 839 855 elsif @tokens[@idx] == "include" 840 856 @idx += 1 857 isOptional = false 858 if @tokens[@idx] == "?" 859 isOptional = true 860 @idx += 1 861 end 841 862 parseError unless isIdentifier(@tokens[@idx]) 842 863 moduleName = @tokens[@idx].string 843 fileName = IncludeFile.new(moduleName, @tokens[@idx].codeOrigin.fileName.dirname).fileName 844 @idx += 1 845 846 fileList << fileName 864 @idx += 1 865 additionsDirectoryName = "#{@buildProductsDirectory}/usr/local/include/WebKitAdditions/" 866 fileName = IncludeFile.new(moduleName, additionsDirectoryName).fileName 867 if not File.exists?(fileName) 868 fileName = IncludeFile.new(moduleName, @tokens[@idx].codeOrigin.fileName.dirname).fileName 869 end 870 fileExists = File.exists?(fileName) 871 raise "File not found: #{fileName}" if not fileExists and not isOptional 872 fileList << fileName if fileExists 847 873 else 848 874 @idx += 1
Note:
See TracChangeset
for help on using the changeset viewer.