Changeset 220994 in webkit


Ignore:
Timestamp:
Aug 21, 2017 6:07:32 PM (7 years ago)
Author:
keith_miller@apple.com
Message:

Only generate offline asm for the ARCHS (xcodebuild) or the current system (CMake)
https://bugs.webkit.org/show_bug.cgi?id=175690

Reviewed by Michael Saboff.

This should reduce some of the time we spend building offline asm
in our builds (except for linux since they already did this).

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • offlineasm/backends.rb:
  • offlineasm/generate_offset_extractor.rb:
Location:
trunk/Source/JavaScriptCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/CMakeLists.txt

    r220958 r220994  
    11631163)
    11641164
    1165 if ((${CMAKE_SYSTEM_NAME} STREQUAL "Linux"))
     1165if (NOT WIN32)
    11661166    if (WTF_CPU_X86)
    11671167        set(OFFLINE_ASM_BACKEND "X86")
  • trunk/Source/JavaScriptCore/ChangeLog

    r220960 r220994  
     12017-08-21  Keith Miller  <keith_miller@apple.com>
     2
     3        Only generate offline asm for the ARCHS (xcodebuild) or the current system (CMake)
     4        https://bugs.webkit.org/show_bug.cgi?id=175690
     5
     6        Reviewed by Michael Saboff.
     7
     8        This should reduce some of the time we spend building offline asm
     9        in our builds (except for linux since they already did this).
     10
     11        * CMakeLists.txt:
     12        * JavaScriptCore.xcodeproj/project.pbxproj:
     13        * offlineasm/backends.rb:
     14        * offlineasm/generate_offset_extractor.rb:
     15
    1162017-08-20  Mark Lam  <mark.lam@apple.com>
    217
  • trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r220958 r220994  
    99219921                        );
    99229922                        runOnlyForDeploymentPostprocessing = 0;
    9923                         shellPath = /bin/sh;
    9924                         shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/LLIntOffsets/\"\n\n/usr/bin/env ruby \"${SRCROOT}/offlineasm/generate_offset_extractor.rb\" \"-I${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\" \"${SRCROOT}/llint/LowLevelInterpreter.asm\" \"${BUILT_PRODUCTS_DIR}/LLIntOffsets/LLIntDesiredOffsets.h\" \"X86,X86_64,ARMv7,ARMv7s,ARM64,C_LOOP\"\n";
    9925                 };
     9923                        shellPath = /bin/sh;
     9924                        shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/LLIntOffsets/\"\n\n/usr/bin/env ruby \"${SRCROOT}/offlineasm/generate_offset_extractor.rb\" \"-I${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\" \"${SRCROOT}/llint/LowLevelInterpreter.asm\" \"${BUILT_PRODUCTS_DIR}/LLIntOffsets/LLIntDesiredOffsets.h\" \"${ARCHS}\"\n";
     9925                };
    99269926                1A02D9A81B34A882000D1522 /* Add Symlink in /System/Library/PrivateFrameworks */ = {
    99279927                        isa = PBXShellScriptBuildPhase;
  • trunk/Source/JavaScriptCore/offlineasm/backends.rb

    r210232 r220994  
    7272    $allBackends[backend] = true
    7373}
     74
     75def canonicalizeBackendNames(backendNames)
     76    newBackendNames = []
     77    backendNames.each {
     78        | backendName |
     79        backendName = backendName.upcase
     80        if backendName =~ /ARM.*/
     81            backendName.sub!(/ARMV7(S?)(.*)/) { | _ | 'ARMv7' + $1.downcase + $2 }
     82        end
     83        backendName = "X86" if backendName == "I386"
     84        newBackendNames << backendName
     85        newBackendNames << "ARMv7" if backendName == "ARMv7s"
     86    }
     87    newBackendNames.uniq
     88end
    7489
    7590def includeOnlyBackends(list)
  • trunk/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb

    r220078 r220994  
    4040outputFlnm = ARGV.shift
    4141
    42 validBackends = ARGV.shift
    43 if validBackends
    44     $stderr.puts "Only dealing with backends: #{validBackends}"
    45     includeOnlyBackends(validBackends.split(","))
    46 end
     42validBackends = canonicalizeBackendNames(ARGV.shift.split(","))
     43$stderr.puts "Only dealing with backends: #{validBackends}"
     44includeOnlyBackends(validBackends)
    4745
    4846def emitMagicNumber
Note: See TracChangeset for help on using the changeset viewer.