Group the JVM interop shims under host/chez/java/
The host/chez directory mixed jolt's own runtime (value model, seq, reader, vars, ns, multimethods) with the shims that emulate the JVM: java.* / javax.* classes, clojure.lang interfaces, and the host-class registry they hang off. Move that JVM-emulation layer into host/chez/java/ so it reads as a distinct unit instead of being interleaved with the platform runtime. Moved (content unchanged): host-static, host-static-methods, host-static-classes, host-class, dot-forms, records-interop, byte-buffer, io, io-streams, inst-time, java-time, bigdec, natives-queue, natives-str, natives-array, math, concurrency, async, ffi. The load paths in rt.ss/cli.ss and the build.ss runtime manifest are updated to point at java/; the build inliner follows the (load ...) strings, so the AOT path needs no other change. All runtime shims, no seed source touched (the three .clj edits are doc comments), so no re-mint. Gate green: make test (selfhost fixpoint, certify 0-new, sci 211, infer), shakesmoke (4 apps byte-identical).
This commit is contained in:
parent
5b77efa499
commit
ec9fde9e7e
26 changed files with 24 additions and 24 deletions
|
|
@ -340,7 +340,7 @@
|
|||
|
||||
(defn clojure-version [] "1.11.0-jolt")
|
||||
|
||||
;; bigdec is a host fn (host/chez/bigdec.ss) — a real BigDecimal value type.
|
||||
;; bigdec is a host fn (host/chez/java/bigdec.ss) — a real BigDecimal value type.
|
||||
(defn numerator [x] (throw (ex-info "numerator requires a ratio (Jolt has no ratios)" {})))
|
||||
(defn denominator [x] (throw (ex-info "denominator requires a ratio (Jolt has no ratios)" {})))
|
||||
|
||||
|
|
|
|||
|
|
@ -685,7 +685,7 @@
|
|||
;; jolt-regex value over the vendored irregex.
|
||||
(form-regex? form) {:op :regex :source (form-regex-source form)}
|
||||
;; #inst / #uuid literals -> :inst / :uuid IR leaves. The Chez back
|
||||
;; end emits a runtime inst/uuid value (host/chez/inst-time.ss).
|
||||
;; end emits a runtime inst/uuid value (host/chez/java/inst-time.ss).
|
||||
(form-inst? form) {:op :inst :source (form-inst-source form)}
|
||||
(form-uuid? form) {:op :uuid :source (form-uuid-source form)}
|
||||
;; bigdecimal literal (1.5M) -> a :bigdec leaf; the back end emits a runtime
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@
|
|||
(ffi-type->chez (:rettype node)) ")"))
|
||||
|
||||
;; jolt.ffi/__ccallable -> a Chez foreign-callable wrapping the emitted jolt fn,
|
||||
;; locked + registered (jolt-ffi-register-callable!, host/chez/ffi.ss) so the
|
||||
;; locked + registered (jolt-ffi-register-callable!, host/chez/java/ffi.ss) so the
|
||||
;; collector neither moves nor reclaims it while C may still call through it. The
|
||||
;; expression evaluates to the entry-point address — a jolt pointer the caller
|
||||
;; hands to C. :collect-safe emits the convention that reactivates the thread on
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue