Loading
Commits on Source 51
-
Ian Price authored
* module/language/cps/compile-js.scm (compile-js): Use lower-cps from (language cps compile-bytecode) rather than optimize, which is no longer there.
-
Ian Price authored
* module/language/cps/compile-js.scm: Rewrite to use cps
-
Ian Price authored
* module/language/cps/compile-js.scm (compile-clause, compile-clauses): Extract all conts in the function body, and bind in clauses. (extract-and-compile-conts): New Procedure
-
Ian Price authored
* module/language/js-il/inlining.scm (no-values-primitives): Update.
-
Ian Price authored
* module/language/js-il/compile-javascript.scm (compile-javascript): Check for #:js-inline? and #:js-flatten?, and turn off inline-single-calls and flatten-blocks respectively.
-
Ian Price authored
* module/language/js-il/inlining.scm(inline-single-calls): Factor into another function inline-clause, so that count-calls is only called on the clause.
-
Ian Price authored
* module/language/js-il/runtime.js(add/immediate, sub/immediate, load-u64, u64-=-scm, handle-interrupts): Add primitives.
-
Ian Price authored
* module/language/cps/compile-js.scm (compile-cont, compile-clause): Rebuild nested scopes for $kargs, using dominator information. (compile-fun, compile-clauses): Pass down dominator information.
-
Ian Price authored
* module/language/js-il/compile-javascript.scm (compile-const): Handle the new syntax object struct. * module/language/js-il/runtime.js(scheme.Syntax): Add Syntax Object type
-
Ian Price authored
* module/language/js-il/inlining.scm (no-values-primitives): Add primitives
-
Ian Price authored
* module/language/js-il/runtime.js (scheme): Add module_cache field. (scheme.primitives) Add cached-module-box primitive. (def_guile0) Convenience for adding to (guile) module cache.
-
Ian Price authored
* module/language/js-il/runtime.js (scheme.Macro): Add type. (make-syntax-transformer): Add guile procedure.
-
Ian Price authored
* module/language/js-il/runtime.js (wind, unwind): Implement. (callcc): Wind when invoking continuation.
-
Ian Price authored
* module/language/js-il/runtime.js: (scheme.Struct): new type. (allocate-struct/immediate, struct-vtable, struct-set!, struct-ref, struct-set!/immediate, struct-ref/immediate): Implement primitives. (def_guile_val): New helper. (string=?, string-append): Implement string functions. (standard-vtable-fields, <standard-vtable>, vtable-index-layout, vtable-index-printer, vtable-offset-user, make-struct/no-tail, make-vtable, struct-vtable?): Implement struct functions.
-
Ian Price authored
* module/language/js-il/runtime.js (make-vector/immediate, vector-set!/immediate, vector-ref/immediate): New Primitives.
-
Ian Price authored
* module/language/js-il/runtime.js (make-list, length, list?, reverse, append, memq, member, delete!): New procedures
-
Ian Price authored
* module/language/js-il/runtime.js (syntax?, make-syntax, syntax-expression, syntax-wrap, syntax-module): New procedures.
-
Ian Price authored
* module/language/js-il/runtime.js (symbol->string, gensym): New procedures.
-
Ian Price authored
* module/language/js-il/runtime.js (string-append): Extend to more than 2 arguments. (string-join): New procedure.
-
Ian Price authored
* module/language/js-il/runtime.js (struct?): New primitive. (<applicable-struct-vtable>, record-type-vtable, set-struct-vtable-name!, make-struct): Implement built-ins.
-
Ian Price authored
* module/language/js-il/runtime.js (define!): Ignore argument.
-
Ian Price authored
* module/language/js-il/runtime.js (scm_struct_init): skip 'h' fields.
-
Ian Price authored
* module/language/js-il/runtime.js (scheme.HashTable): New Constructor. (make-hash-table, hash-clear!, hashq-remove!, hashq-ref, hashq-set!, hash-for-each): Implement built-ins.
-
Ian Price authored
* module/language/js-il/runtime.js (procedure?, set-procedure-property!, make-procedure-with-setter): Implement.
-
Ian Price authored
* module/language/js-il/runtime.js (variable?): New Primitive. (primitive-load-path, module-local-variable, module-variable, %get-pre-modules-obarray, set-current-module): Implement built-ins.
-
Ian Price authored
* module/language/js-il/runtime.js (scm->u64): New primitive (integer?, char=?, make-fluid, read-hash-extend, make-hook, simple-format, scm-error): Implement built-ins. (syntax-session-id, macroexpand, %exception-handler, print-exception, *features*, %load-hook, current-reader): Stubbed variables.
-
Ian Price authored
* module/language/js-il/runtime.js (scheme.Struct): When certain flags are set, child structs should be marked as applicable.
-
Ian Price authored
* module/language/js-il/runtime.js (struct-set!): Don't return a value.
-
Ian Price authored
* module/language/js-il/runtime.js(unwind): Unwind prompts.
-
Ian Price authored
* module/Makefile.am (SOURCES): Install runtime.js and jslink.scm * module/language/js-il/compile-javascript.scm (compile-exp): Compilation units take a continuation to facilitate linking. * module/scripts/jslink.scm: New script.
-
Ian Price authored
* module/language/js-il/runtime.js (primitive-load-path): modules should be passed the current continuation.
-
Ian Price authored
* module/language/js-il/runtime.js (equal?): Remove primitive. Implement as builtin procedure. This version Only handles pairs.
-
Ian Price authored
* module/language/js-il/runtime.js (u64-=, u64->scm): New primitives.
-
Ian Price authored
* module/language/js-il/runtime.js (scm_hash, scheme.HashTable): moved for bootstrapping purposes. (define!, cached-toplevel-box, cached-module-box, current-module, resolve): Reimplement primitives. (define!, module-local-variable, module-variable, %get-pre-modules-obarray, set-current-module): Reimplement builtin procedures. (make-undefined-variable): New builtin procedure. (scm_pre_modules_obarray, the_root_module, scm_public_lookup, scm_public_variable, scm_private_lookup, scm_current_module, scm_lookup, scm_module_ensure_local_variable, scm_module_variable, scm_module_define, module_system_is_booted, module_make_local_var_x_var, the_module, k_ensure, resolve_module_var, scm_post_boot_init_modules): New helper variables and procedures, designed to resemble C versions. (scheme.call): New helper procedure (def_guile0, def_guile_val): Reimplement helper procedure.
-
Ian Price authored
* module/language/js-il/runtime.js: (scheme.HashTable): Change object interface. (cached-module-box): Update primitive. (scm_module_ensure_local_variable, def_guile_val): Update helpers (scm_hash): Remove helper. (make-weak-key-hash-table, hash-clear!, hashq-remove! hashq-ref, hashq-set!, hash-for-each): Update builtins. (make-weak-value-hash-table, hash-map->list): New builtins.
-
Ian Price authored
* module/language/js-il/runtime.js: (scm_public_variable, scm_module_public_interface, module_public_interface_var, scm_post_boot_init_modules): Implement Public Variable Lookup (scm_private_lookup, scm_private_variable): Implement Private Lookup
-
Ian Price authored
* module/language/js-il/runtime.js: (scm_module_variable): Look in imports if not in obarray. (module_imported_variable): New procedure. (scm_module_index_obarray, scm_module_index_uses, scm_module_index_import_obarray): New variables.
-
Ian Price authored
* module/language/js-il/runtime.js: (scheme.Hook): new constructor (make-hook, run-hook): Implement builtins.
-
Ian Price authored
* module/language/js-il/runtime.js (cons, memq, member, delete!): Implement builtins
-
Ian Price authored
* module/language/js-il/runtime.js(*features*): Stop stubbing
-
Ian Price authored
* module/language/js-il/runtime.js(make-fluid): Supply default argument
-
Ian Price authored
* module/language/js-il/runtime.js(pop-fluid): Fix primitive.
-
Ian Price authored
* module/language/js-il/runtime.js(variable-bound?): Implement builtin
-
Ian Price authored
* module/language/javascript.scm (assign): new js-type (print-exp, unparse-js): Handle case. * module/language/javascript/simplify.scm (flatten-blocks): Handle case.
-
Ian Price authored
* module/language/javascript.scm (print-binop): Handle `begin' & `instanceof'
-
Ian Price authored
* module/language/js-il/compile-javascript.scm (compile-jump-table, bind-opt-kw-args): Keywords should not be parsed as optional arguments when both are present.
-
Ian Price authored
* module/scripts/jslink.scm: Module files need a module form, or functions like resolve-module won't work correctly.
-
Ian Price authored
* module/scripts/jslink.scm: Need to use `read' on --depends switch to pass a pair.
-
Ian Price authored
* module/scripts/jslink.scm (link-file): psyntax needs to come last in the list of dependencies, so need to append extra-dependencies before boot-dependencies
-
Ian Price authored
* module/scripts/jslink.scm (show-help): Add missing switches.
-
Ian Price authored
* module/Makefile.am: * module/language/cps/compile-js.scm: * module/language/cps/spec.scm: * module/language/javascript.scm: * module/language/javascript/spec.scm: * module/language/js-il.scm: * module/language/js-il/compile-javascript.scm: * module/language/js-il/inlining.scm: * module/language/js-il/runtime.js: Update copyright headers