Changeset 172777 in webkit for trunk/Source/JavaScriptCore/offlineasm/settings.rb
- Timestamp:
- Aug 19, 2014, 4:25:37 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/offlineasm/settings.rb
r170428 r172777 55 55 end 56 56 57 settingsCombinator(settingsCombinations, {}, (ast.filter(Setting).uniq.collect{|v| v.name} + BACKENDS).uniq) 57 nonBackendSettings = ast.filter(Setting).uniq.collect{ |v| v.name } 58 nonBackendSettings.delete_if { 59 | setting | 60 isBackend? setting 61 } 62 63 allBackendsFalse = {} 64 BACKENDS.each { 65 | backend | 66 allBackendsFalse[backend] = false 67 } 68 69 # This will create entries for invalid backends. That's fine. It's necessary 70 # because it ensures that generate_offsets_extractor (which knows about valid 71 # backends) has settings indices that are compatible with what asm will see 72 # (asm doesn't know about valid backends). 73 BACKENDS.each { 74 | backend | 75 map = allBackendsFalse.clone 76 map[backend] = true 77 settingsCombinator(settingsCombinations, map, nonBackendSettings) 78 } 58 79 59 80 settingsCombinations … … 74 95 BACKENDS.each { 75 96 | backend | 76 isSupported = concreteSettings[backend] 77 raise unless isSupported != nil 78 numClaimedBackends += if isSupported then 1 else 0 end 79 if isSupported 97 if concreteSettings[backend] 98 raise if selectedBackend 80 99 selectedBackend = backend 81 100 end 82 101 } 83 102 84 return if numClaimedBackends > 1103 return unless isValidBackend? selectedBackend 85 104 86 105 # Resolve the AST down to a low-level form (no macros or conditionals).
Note:
See TracChangeset
for help on using the changeset viewer.