lower.scm 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. ;;; Pass to lower and resolve wasm
  2. ;;; Copyright (C) 2023 Igalia, S.L.
  3. ;;;
  4. ;;; Licensed under the Apache License, Version 2.0 (the "License");
  5. ;;; you may not use this file except in compliance with the License.
  6. ;;; You may obtain a copy of the License at
  7. ;;;
  8. ;;; http://www.apache.org/licenses/LICENSE-2.0
  9. ;;;
  10. ;;; Unless required by applicable law or agreed to in writing, software
  11. ;;; distributed under the License is distributed on an "AS IS" BASIS,
  12. ;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. ;;; See the License for the specific language governing permissions and
  14. ;;; limitations under the License.
  15. ;;; Commentary:
  16. ;;;
  17. ;;;
  18. ;;; Code:
  19. (define-module (wasm lower)
  20. #:use-module (wasm lower-globals)
  21. #:use-module (wasm lower-stringrefs)
  22. #:use-module (wasm resolve)
  23. #:export (lower-wasm stringref-lowering))
  24. (define stringref-lowering (make-parameter 'wtf8))
  25. (define* (lower-wasm wasm #:key (stringref-lowering (stringref-lowering))
  26. (emit-names? #f))
  27. (resolve-wasm
  28. (lower-globals
  29. (lower-stringrefs wasm #:strategy stringref-lowering))
  30. #:emit-names? emit-names?))