[Gd-chatter] r11176 - in trunk/fundev/sources/dfmc: back-end-protocol browser-support namespace
hannes at gwydiondylan.org
hannes at gwydiondylan.org
Tue Feb 13 03:17:04 CET 2007
Author: hannes
Date: Tue Feb 13 03:17:02 2007
New Revision: 11176
Modified:
trunk/fundev/sources/dfmc/back-end-protocol/back-end.dylan
trunk/fundev/sources/dfmc/back-end-protocol/library.dylan
trunk/fundev/sources/dfmc/browser-support/browser-support-library.dylan
trunk/fundev/sources/dfmc/browser-support/debug-info-api.dylan
trunk/fundev/sources/dfmc/namespace/interactive-namespace.dylan
Log:
Bug: fd
fixes to get playground working.
This change was done by rayiner, http://www.opendylan.org/~rayiner/interactive-fix.diff
the latest win32-built also contained these changes
Modified: trunk/fundev/sources/dfmc/back-end-protocol/back-end.dylan
==============================================================================
--- trunk/fundev/sources/dfmc/back-end-protocol/back-end.dylan (original)
+++ trunk/fundev/sources/dfmc/back-end-protocol/back-end.dylan Tue Feb 13 03:17:02 2007
@@ -55,10 +55,11 @@
end, $back-end-registry)
end;
-define sideways method current-back-end () => (back-end)
- let name = current-back-end-name();
+define function find-back-end-object (name :: <symbol>,
+ architecture :: <symbol>,
+ os :: <symbol>) => (back-end)
if (name ~== *cached-back-end-name*)
- let entries = find-back-end(name, current-processor-name(), current-os-name());
+ let entries = find-back-end(name, architecture, os);
if (~ empty?(entries))
*cached-back-end* := make(back-end-class(first(entries)));
*cached-back-end-name* := name;
@@ -68,3 +69,12 @@
end;
*cached-back-end*
end;
+
+define sideways method current-back-end () => (back-end)
+ if (current-library-description())
+ let name = current-back-end-name();
+ let arch = current-processor-name();
+ let os = current-os-name();
+ find-back-end-object(name, arch, os)
+ end;
+end;
Modified: trunk/fundev/sources/dfmc/back-end-protocol/library.dylan
==============================================================================
--- trunk/fundev/sources/dfmc/back-end-protocol/library.dylan (original)
+++ trunk/fundev/sources/dfmc/back-end-protocol/library.dylan Tue Feb 13 03:17:02 2007
@@ -30,6 +30,8 @@
raw-mangle,
register-back-end,
- find-back-end;
+ find-back-end,
+ find-back-end-object;
end module;
+
Modified: trunk/fundev/sources/dfmc/browser-support/browser-support-library.dylan
==============================================================================
--- trunk/fundev/sources/dfmc/browser-support/browser-support-library.dylan (original)
+++ trunk/fundev/sources/dfmc/browser-support/browser-support-library.dylan Tue Feb 13 03:17:02 2007
@@ -17,6 +17,7 @@
use dfmc-management;
use dfmc-namespace;
use dfmc-back-end;
+ use dfmc-back-end-protocol;
use dfmc-linker;
use dfmc-c-ffi;
@@ -45,6 +46,7 @@
use dfmc-management, export: all;
use dfmc-linker, export: all;
use dfmc-back-end, export: all;
+ use dfmc-back-end-protocol, export: all;
end module;
define macro interface-module-definer
@@ -334,6 +336,7 @@
use dfmc-derived-information;
use dfmc-interactive-execution;
use dfmc-browser-back-end;
+ use dfmc-back-end-protocol;
// Use prefix to avoid conflicts with interface names.
use browser-used-modules, prefix: "dfmc-";
end module;
Modified: trunk/fundev/sources/dfmc/browser-support/debug-info-api.dylan
==============================================================================
--- trunk/fundev/sources/dfmc/browser-support/debug-info-api.dylan (original)
+++ trunk/fundev/sources/dfmc/browser-support/debug-info-api.dylan Tue Feb 13 03:17:02 2007
@@ -12,9 +12,11 @@
define function context-back-end
(context :: dfmc-<library-description>)
- => (back-end :: dfmc-<back-end>)
- ignore(context);
- dfmc-current-back-end(); // Is this safe ???
+ => (back-end)
+ let name = dfmc-library-description-compiler-back-end-name(context);
+ let os = dfmc-library-description-os-name(context);
+ let arch = dfmc-library-description-processor-name(context);
+ find-back-end-object(name, arch, os)
end function;
@@ -378,3 +380,4 @@
context.compilation-context-dylan-component-name;
end function;
+
Modified: trunk/fundev/sources/dfmc/namespace/interactive-namespace.dylan
==============================================================================
--- trunk/fundev/sources/dfmc/namespace/interactive-namespace.dylan (original)
+++ trunk/fundev/sources/dfmc/namespace/interactive-namespace.dylan Tue Feb 13 03:17:02 2007
@@ -38,6 +38,8 @@
inherited slot compiled-to-definitions? = #t;
constant slot interactive-library-target,
required-init-keyword: target:;
+ constant slot interactive-library-compiler-back-end-name :: <symbol>,
+ required-init-keyword: back-end:;
constant slot interactive-library-os-name :: <symbol>,
required-init-keyword: os:;
constant slot interactive-library-processor-name :: <symbol>,
@@ -69,6 +71,11 @@
0
end method;
+define method library-description-compiler-back-end-name
+ (ild :: <interactive-library-description>) => (name :: <symbol>)
+ ild.interactive-library-compiler-back-end-name
+end method;
+
define method library-description-os-name
(ild :: <interactive-library-description>) => (name :: <symbol>)
ild.interactive-library-os-name
@@ -696,6 +703,7 @@
used-libraries: used-libraries-for-target(ld, target),
target: target,
// TODO: these should come from the target, or at least match it
+ back-end: ld.library-description-compiler-back-end-name,
os: ld.library-description-os-name,
processor: ld.library-description-processor-name,
major-version: ld.library-description-major-version,
More information about the chatter
mailing list