Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
-
6992ac09
by Cheng Shao at 2025-10-02T07:27:55-04:00
-
39eaaaba
by Ben Gamari at 2025-10-02T07:28:45-04:00
-
c254c54b
by Cheng Shao at 2025-10-02T07:29:33-04:00
-
52208cef
by Simon Hengel at 2025-10-02T12:41:47-04:00
-
4ae51be9
by Matthew Pickering at 2025-10-02T12:41:48-04:00
-
406b7b23
by Simon Hengel at 2025-10-02T12:41:48-04:00
20 changed files:
- compiler/GHC.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Linker/Loader.hs
- compiler/GHC/Parser/PostProcess.hs
- compiler/cbits/keepCAFsForGHCi.c
- compiler/ghc.cabal.in
- docs/users_guide/conf.py
- + rts/BuiltinClosures.c
- + rts/BuiltinClosures.h
- rts/RtsStartup.c
- rts/StgMiscClosures.cmm
- rts/include/rts/Constants.h
- rts/include/stg/MiscClosures.h
- rts/rts.cabal
- − testsuite/tests/process/process010.stdout-i386-unknown-solaris2
- − testsuite/tests/rts/linker/T11223/T11223_link_order_a_b_2_fail.stderr-ws-32-mingw32
- − testsuite/tests/rts/linker/T11223/T11223_simple_duplicate_lib.stderr-ws-32-mingw32
- − testsuite/tests/rts/outofmem.stderr-i386-apple-darwin
- − testsuite/tests/rts/outofmem.stderr-i386-unknown-mingw32
- − testsuite/tests/rts/outofmem.stderr-powerpc-apple-darwin
Changes:
| ... | ... | @@ -463,6 +463,9 @@ import System.Exit ( exitWith, ExitCode(..) ) |
| 463 | 463 | import System.FilePath
|
| 464 | 464 | import System.IO.Error ( isDoesNotExistError )
|
| 465 | 465 | |
| 466 | +#if defined(HAVE_INTERNAL_INTERPRETER)
|
|
| 467 | +import Foreign.C
|
|
| 468 | +#endif
|
|
| 466 | 469 | |
| 467 | 470 | -- %************************************************************************
|
| 468 | 471 | -- %* *
|
| ... | ... | @@ -597,12 +600,12 @@ withCleanupSession ghc = ghc `MC.finally` cleanup |
| 597 | 600 | |
| 598 | 601 | initGhcMonad :: GhcMonad m => Maybe FilePath -> m ()
|
| 599 | 602 | initGhcMonad mb_top_dir = setSession =<< liftIO ( do
|
| 600 | -#if !defined(javascript_HOST_ARCH)
|
|
| 603 | +#if defined(HAVE_INTERNAL_INTERPRETER)
|
|
| 601 | 604 | -- The call to c_keepCAFsForGHCi must not be optimized away. Even in non-debug builds.
|
| 602 | 605 | -- So we can't use assertM here.
|
| 603 | 606 | -- See Note [keepCAFsForGHCi] in keepCAFsForGHCi.c for details about why.
|
| 604 | 607 | !keep_cafs <- c_keepCAFsForGHCi
|
| 605 | - massert keep_cafs
|
|
| 608 | + massert $ keep_cafs /= 0
|
|
| 606 | 609 | #endif
|
| 607 | 610 | initHscEnv mb_top_dir
|
| 608 | 611 | )
|
| ... | ... | @@ -2092,7 +2095,7 @@ mkApiErr :: DynFlags -> SDoc -> GhcApiError |
| 2092 | 2095 | mkApiErr dflags msg = GhcApiError (showSDoc dflags msg)
|
| 2093 | 2096 | |
| 2094 | 2097 | |
| 2095 | -#if !defined(javascript_HOST_ARCH)
|
|
| 2098 | +#if defined(HAVE_INTERNAL_INTERPRETER)
|
|
| 2096 | 2099 | foreign import ccall unsafe "keepCAFsForGHCi"
|
| 2097 | - c_keepCAFsForGHCi :: IO Bool
|
|
| 2100 | + c_keepCAFsForGHCi :: IO CBool
|
|
| 2098 | 2101 | #endif |
| ... | ... | @@ -2777,10 +2777,12 @@ hscCompileCoreExpr' hsc_env srcspan ds_expr = do |
| 2777 | 2777 | |
| 2778 | 2778 | {- load it -}
|
| 2779 | 2779 | bco_time <- getCurrentTime
|
| 2780 | - (fv_hvs, mods_needed, units_needed) <- loadDecls interp hsc_env srcspan $
|
|
| 2780 | + (mods_needed, units_needed) <- loadDecls interp hsc_env srcspan $
|
|
| 2781 | 2781 | Linkable bco_time this_mod $ NE.singleton $ BCOs bcos
|
| 2782 | + -- Get the foreign reference to the name we should have just loaded.
|
|
| 2783 | + mhvs <- lookupFromLoadedEnv interp (idName binding_id)
|
|
| 2782 | 2784 | {- Get the HValue for the root -}
|
| 2783 | - return (expectJust $ lookup (idName binding_id) fv_hvs, mods_needed, units_needed)
|
|
| 2785 | + return (expectJust mhvs, mods_needed, units_needed)
|
|
| 2784 | 2786 | |
| 2785 | 2787 | |
| 2786 | 2788 |
| ... | ... | @@ -28,6 +28,7 @@ module GHC.Linker.Loader |
| 28 | 28 | , withExtendedLoadedEnv
|
| 29 | 29 | , extendLoadedEnv
|
| 30 | 30 | , deleteFromLoadedEnv
|
| 31 | + , lookupFromLoadedEnv
|
|
| 31 | 32 | -- * Internals
|
| 32 | 33 | , allocateBreakArrays
|
| 33 | 34 | , rmDupLinkables
|
| ... | ... | @@ -213,6 +214,15 @@ deleteFromLoadedEnv interp to_remove = |
| 213 | 214 | return $ modifyClosureEnv pls $ \ce ->
|
| 214 | 215 | delListFromNameEnv ce to_remove
|
| 215 | 216 | |
| 217 | +-- | Have we already loaded a name into the interpreter?
|
|
| 218 | +lookupFromLoadedEnv :: Interp -> Name -> IO (Maybe ForeignHValue)
|
|
| 219 | +lookupFromLoadedEnv interp name = do
|
|
| 220 | + mstate <- getLoaderState interp
|
|
| 221 | + return $ do
|
|
| 222 | + pls <- mstate
|
|
| 223 | + res <- lookupNameEnv (closure_env (linker_env pls)) name
|
|
| 224 | + return (snd res)
|
|
| 225 | + |
|
| 216 | 226 | -- | Load the module containing the given Name and get its associated 'HValue'.
|
| 217 | 227 | --
|
| 218 | 228 | -- Throws a 'ProgramError' if loading fails or the name cannot be found.
|
| ... | ... | @@ -258,7 +268,7 @@ loadDependencies interp hsc_env pls span needed_mods = do |
| 258 | 268 | |
| 259 | 269 | -- Link the packages and modules required
|
| 260 | 270 | pls1 <- loadPackages' interp hsc_env (ldUnits deps) pls
|
| 261 | - (pls2, succ) <- loadModuleLinkables interp hsc_env pls1 (ldNeededLinkables deps)
|
|
| 271 | + (pls2, succ) <- loadExternalModuleLinkables interp hsc_env pls1 (ldNeededLinkables deps)
|
|
| 262 | 272 | let this_pkgs_loaded = udfmRestrictKeys all_pkgs_loaded $ getUniqDSet trans_pkgs_needed
|
| 263 | 273 | all_pkgs_loaded = pkgs_loaded pls2
|
| 264 | 274 | trans_pkgs_needed = unionManyUniqDSets (this_pkgs_needed : [ loaded_pkg_trans_deps pkg
|
| ... | ... | @@ -684,42 +694,23 @@ get_reachable_nodes hsc_env mods |
| 684 | 694 | |
| 685 | 695 | ********************************************************************* -}
|
| 686 | 696 | |
| 687 | -loadDecls :: Interp -> HscEnv -> SrcSpan -> Linkable -> IO ([(Name, ForeignHValue)], [Linkable], PkgsLoaded)
|
|
| 697 | +-- | Load the dependencies of a linkable, and then load the linkable itself.
|
|
| 698 | +loadDecls :: Interp -> HscEnv -> SrcSpan -> Linkable -> IO ([Linkable], PkgsLoaded)
|
|
| 688 | 699 | loadDecls interp hsc_env span linkable = do
|
| 689 | 700 | -- Initialise the linker (if it's not been done already)
|
| 690 | 701 | initLoaderState interp hsc_env
|
| 691 | 702 | |
| 692 | 703 | -- Take lock for the actual work.
|
| 693 | 704 | modifyLoaderState interp $ \pls0 -> do
|
| 694 | - -- Link the foreign objects first; BCOs in linkable are ignored here.
|
|
| 695 | - (pls1, objs_ok) <- loadObjects interp hsc_env pls0 [linkable]
|
|
| 696 | - when (failed objs_ok) $ throwGhcExceptionIO $ ProgramError "loadDecls: failed to load foreign objects"
|
|
| 697 | - |
|
| 698 | 705 | -- Link the packages and modules required
|
| 699 | - (pls, ok, links_needed, units_needed) <- loadDependencies interp hsc_env pls1 span needed_mods
|
|
| 706 | + (pls, ok, links_needed, units_needed) <- loadDependencies interp hsc_env pls0 span needed_mods
|
|
| 700 | 707 | if failed ok
|
| 701 | - then throwGhcExceptionIO (ProgramError "")
|
|
| 708 | + then throwGhcExceptionIO (ProgramError "could not load dependencies for decls")
|
|
| 702 | 709 | else do
|
| 703 | - -- Link the expression itself
|
|
| 704 | - let le = linker_env pls
|
|
| 705 | - let lb = linked_breaks pls
|
|
| 706 | - le2_itbl_env <- linkITbls interp (itbl_env le) (concat $ map bc_itbls cbcs)
|
|
| 707 | - le2_addr_env <- foldlM (\env cbc -> allocateTopStrings interp (bc_strs cbc) env) (addr_env le) cbcs
|
|
| 708 | - le2_breakarray_env <- allocateBreakArrays interp (breakarray_env lb) (catMaybes $ map bc_breaks cbcs)
|
|
| 709 | - le2_ccs_env <- allocateCCS interp (ccs_env lb) (catMaybes $ map bc_breaks cbcs)
|
|
| 710 | - let le2 = le { itbl_env = le2_itbl_env
|
|
| 711 | - , addr_env = le2_addr_env }
|
|
| 712 | - let lb2 = lb { breakarray_env = le2_breakarray_env
|
|
| 713 | - , ccs_env = le2_ccs_env }
|
|
| 714 | - |
|
| 715 | - -- Link the necessary packages and linkables
|
|
| 716 | - new_bindings <- linkSomeBCOs interp (pkgs_loaded pls) le2 lb2 cbcs
|
|
| 717 | - nms_fhvs <- makeForeignNamedHValueRefs interp new_bindings
|
|
| 718 | - let ce2 = extendClosureEnv (closure_env le2) nms_fhvs
|
|
| 719 | - !pls2 = pls { linker_env = le2 { closure_env = ce2 }
|
|
| 720 | - , linked_breaks = lb2 }
|
|
| 721 | - mapM_ (linkSptEntry interp ce2) (concatMap bc_spt_entries cbcs)
|
|
| 722 | - return (pls2, (nms_fhvs, links_needed, units_needed))
|
|
| 710 | + (pls2, ok2) <- loadInternalModuleLinkables interp hsc_env pls [linkable]
|
|
| 711 | + when (failed ok2) $
|
|
| 712 | + throwGhcExceptionIO (ProgramError "could not load linkable for decls")
|
|
| 713 | + return (pls2, (links_needed, units_needed))
|
|
| 723 | 714 | where
|
| 724 | 715 | cbcs = linkableBCOs linkable
|
| 725 | 716 | |
| ... | ... | @@ -761,8 +752,29 @@ loadModule interp hsc_env mod = do |
| 761 | 752 | |
| 762 | 753 | ********************************************************************* -}
|
| 763 | 754 | |
| 764 | -loadModuleLinkables :: Interp -> HscEnv -> LoaderState -> [Linkable] -> IO (LoaderState, SuccessFlag)
|
|
| 765 | -loadModuleLinkables interp hsc_env pls linkables
|
|
| 755 | +-- | Which closures from a Linkable to add to the 'ClosureEnv' in the 'LoaderState'
|
|
| 756 | +data KeepModuleLinkableDefinitions = KeepAllDefinitions -- ^ Keep all definitions
|
|
| 757 | + | KeepExternalDefinitions -- ^ Only keep external definitions
|
|
| 758 | + |
|
| 759 | +-- | Interpret a 'KeepModuleLinkableDefinitions' specification to a predictate on 'Name'
|
|
| 760 | +keepDefinitions :: KeepModuleLinkableDefinitions -> (Name -> Bool)
|
|
| 761 | +keepDefinitions KeepAllDefinitions = const True
|
|
| 762 | +keepDefinitions KeepExternalDefinitions = isExternalName
|
|
| 763 | + |
|
| 764 | +-- | Load a linkable from a module, and only add externally visible names to the
|
|
| 765 | +-- environment.
|
|
| 766 | +loadExternalModuleLinkables :: Interp -> HscEnv -> LoaderState -> [Linkable] -> IO (LoaderState, SuccessFlag)
|
|
| 767 | +loadExternalModuleLinkables interp hsc_env pls linkables =
|
|
| 768 | + loadModuleLinkables interp hsc_env pls KeepExternalDefinitions linkables
|
|
| 769 | + |
|
| 770 | +-- | Load a linkable from a module, and add all the names from the linkable into the
|
|
| 771 | +-- closure environment.
|
|
| 772 | +loadInternalModuleLinkables :: Interp -> HscEnv -> LoaderState -> [Linkable] -> IO (LoaderState, SuccessFlag)
|
|
| 773 | +loadInternalModuleLinkables interp hsc_env pls linkables =
|
|
| 774 | + loadModuleLinkables interp hsc_env pls KeepAllDefinitions linkables
|
|
| 775 | + |
|
| 776 | +loadModuleLinkables :: Interp -> HscEnv -> LoaderState -> KeepModuleLinkableDefinitions -> [Linkable] -> IO (LoaderState, SuccessFlag)
|
|
| 777 | +loadModuleLinkables interp hsc_env pls keep_spec linkables
|
|
| 766 | 778 | = mask_ $ do -- don't want to be interrupted by ^C in here
|
| 767 | 779 | |
| 768 | 780 | debugTraceMsg (hsc_logger hsc_env) 3 $
|
| ... | ... | @@ -777,7 +789,7 @@ loadModuleLinkables interp hsc_env pls linkables |
| 777 | 789 | if failed ok_flag then
|
| 778 | 790 | return (pls1, Failed)
|
| 779 | 791 | else do
|
| 780 | - pls2 <- dynLinkBCOs interp pls1 bcos
|
|
| 792 | + pls2 <- dynLinkBCOs interp pls1 keep_spec bcos
|
|
| 781 | 793 | return (pls2, Succeeded)
|
| 782 | 794 | where
|
| 783 | 795 | (objs, bcos) = partitionLinkables linkables
|
| ... | ... | @@ -920,8 +932,8 @@ rmDupLinkables already ls |
| 920 | 932 | ********************************************************************* -}
|
| 921 | 933 | |
| 922 | 934 | |
| 923 | -dynLinkBCOs :: Interp -> LoaderState -> [Linkable] -> IO LoaderState
|
|
| 924 | -dynLinkBCOs interp pls bcos = do
|
|
| 935 | +dynLinkBCOs :: Interp -> LoaderState -> KeepModuleLinkableDefinitions -> [Linkable] -> IO LoaderState
|
|
| 936 | +dynLinkBCOs interp pls keep_spec bcos = do
|
|
| 925 | 937 | |
| 926 | 938 | let (bcos_loaded', new_bcos) = rmDupLinkables (bcos_loaded pls) bcos
|
| 927 | 939 | pls1 = pls { bcos_loaded = bcos_loaded' }
|
| ... | ... | @@ -945,7 +957,7 @@ dynLinkBCOs interp pls bcos = do |
| 945 | 957 | names_and_refs <- linkSomeBCOs interp (pkgs_loaded pls) le2 lb2 cbcs
|
| 946 | 958 | |
| 947 | 959 | -- We only want to add the external ones to the ClosureEnv
|
| 948 | - let (to_add, to_drop) = partition (isExternalName.fst) names_and_refs
|
|
| 960 | + let (to_add, to_drop) = partition (keepDefinitions keep_spec . fst) names_and_refs
|
|
| 949 | 961 | |
| 950 | 962 | -- Immediately release any HValueRefs we're not going to add
|
| 951 | 963 | freeHValueRefs interp (map snd to_drop)
|
| ... | ... | @@ -2778,7 +2778,7 @@ the appropriate component of the product, discarding the rest: |
| 2778 | 2778 | checkPatOf3 (_, _, p) = p -- interpret as a pattern
|
| 2779 | 2779 | |
| 2780 | 2780 | We can easily define ambiguities between arbitrary subsets of interpretations.
|
| 2781 | -For example, when we know ahead of type that only an expression or a command is
|
|
| 2781 | +For example, when we know ahead of time that only an expression or a command is
|
|
| 2782 | 2782 | possible, but not a pattern, we can use a smaller type:
|
| 2783 | 2783 | |
| 2784 | 2784 | type ExpCmd = (PV (LHsExpr GhcPs), PV (LHsCmd GhcPs))
|
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | // the constructor to be run, allowing the assertion to succeed in the first place
|
| 22 | 22 | // as keepCAFs will have been set already during initialization of constructors.
|
| 23 | 23 | |
| 24 | - |
|
| 24 | +#if defined(HAVE_INTERNAL_INTERPRETER)
|
|
| 25 | 25 | |
| 26 | 26 | bool keepCAFsForGHCi(void) __attribute__((constructor));
|
| 27 | 27 | |
| ... | ... | @@ -32,4 +32,4 @@ bool keepCAFsForGHCi(void) |
| 32 | 32 | return was_set;
|
| 33 | 33 | }
|
| 34 | 34 | |
| 35 | - |
|
| 35 | +#endif |
| ... | ... | @@ -156,6 +156,7 @@ Library |
| 156 | 156 | |
| 157 | 157 | if flag(internal-interpreter)
|
| 158 | 158 | CPP-Options: -DHAVE_INTERNAL_INTERPRETER
|
| 159 | + cc-options: -DHAVE_INTERNAL_INTERPRETER
|
|
| 159 | 160 | |
| 160 | 161 | -- if no dynamic system linker is available, don't try DLLs.
|
| 161 | 162 | if flag(dynamic-system-linker)
|
| ... | ... | @@ -7,6 +7,7 @@ |
| 7 | 7 | #
|
| 8 | 8 | import sys
|
| 9 | 9 | import os
|
| 10 | +from datetime import datetime, timezone
|
|
| 10 | 11 | |
| 11 | 12 | # Support for :base-ref:, etc.
|
| 12 | 13 | sys.path.insert(0, os.path.abspath('.'))
|
| ... | ... | @@ -44,7 +45,7 @@ rst_prolog = """ |
| 44 | 45 | |
| 45 | 46 | # General information about the project.
|
| 46 | 47 | project = u'Glasgow Haskell Compiler'
|
| 47 | -copyright = u'2023, GHC Team'
|
|
| 48 | +copyright = f"{datetime.now(timezone.utc).year}, GHC Team"
|
|
| 48 | 49 | # N.B. version comes from ghc_config
|
| 49 | 50 | release = version # The full version, including alpha/beta/rc tags.
|
| 50 | 51 |
| 1 | +#include "Rts.h"
|
|
| 2 | +#include "Prelude.h"
|
|
| 3 | +#include "BuiltinClosures.h"
|
|
| 4 | + |
|
| 5 | +/*
|
|
| 6 | + * Note [CHARLIKE and INTLIKE closures]
|
|
| 7 | + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
| 8 | + * These are static representations of Chars and small Ints, so that
|
|
| 9 | + * we can remove dynamic Chars and Ints during garbage collection and
|
|
| 10 | + * replace them with references to the static objects.
|
|
| 11 | + */
|
|
| 12 | + |
|
| 13 | +StgIntCharlikeClosure stg_INTLIKE_closure[MAX_INTLIKE - MIN_INTLIKE + 1];
|
|
| 14 | +StgIntCharlikeClosure stg_CHARLIKE_closure[MAX_CHARLIKE - MIN_CHARLIKE + 1];
|
|
| 15 | + |
|
| 16 | +void initBuiltinClosures(void) {
|
|
| 17 | + // INTLIKE closures
|
|
| 18 | + for (int i = MIN_INTLIKE; i <= MAX_INTLIKE; i++) {
|
|
| 19 | + StgIntCharlikeClosure *c = &stg_INTLIKE_closure[i - MIN_INTLIKE];
|
|
| 20 | + SET_HDR((StgClosure* ) c, Izh_con_info, CCS_SYSTEM_OR_NULL);
|
|
| 21 | + c->data = i;
|
|
| 22 | + }
|
|
| 23 | + |
|
| 24 | + // CHARLIKE closures
|
|
| 25 | + for (int i = MIN_CHARLIKE; i <= MAX_CHARLIKE; i++) {
|
|
| 26 | + StgIntCharlikeClosure *c = &stg_CHARLIKE_closure[i - MIN_CHARLIKE];
|
|
| 27 | + SET_HDR((StgClosure* ) c, Czh_con_info, CCS_SYSTEM_OR_NULL);
|
|
| 28 | + c->data = i;
|
|
| 29 | + }
|
|
| 30 | +} |
| 1 | +/*
|
|
| 2 | + * (c) The GHC Team, 2025-2026
|
|
| 3 | + *
|
|
| 4 | + * RTS/ghc-internal interface
|
|
| 5 | + *
|
|
| 6 | + */
|
|
| 7 | + |
|
| 8 | +#pragma once
|
|
| 9 | + |
|
| 10 | +#include "BeginPrivate.h"
|
|
| 11 | + |
|
| 12 | +void initBuiltinClosures(void);
|
|
| 13 | + |
|
| 14 | +#include "EndPrivate.h" |
| ... | ... | @@ -14,6 +14,7 @@ |
| 14 | 14 | #include "linker/MMap.h"
|
| 15 | 15 | #include "RtsFlags.h"
|
| 16 | 16 | #include "RtsUtils.h"
|
| 17 | +#include "BuiltinClosures.h"
|
|
| 17 | 18 | #include "Prelude.h"
|
| 18 | 19 | #include "Printer.h" /* DEBUG_LoadSymbols */
|
| 19 | 20 | #include "Schedule.h" /* initScheduler */
|
| ... | ... | @@ -373,6 +374,9 @@ hs_init_ghc(int *argc, char **argv[], RtsConfig rts_config) |
| 373 | 374 | traceInitEvent(traceOSProcessInfo);
|
| 374 | 375 | flushTrace();
|
| 375 | 376 | |
| 377 | + /* initialize INTLIKE and CHARLIKE closures */
|
|
| 378 | + initBuiltinClosures();
|
|
| 379 | + |
|
| 376 | 380 | /* initialize the storage manager */
|
| 377 | 381 | initStorage();
|
| 378 | 382 |
| ... | ... | @@ -13,8 +13,6 @@ |
| 13 | 13 | #include "Cmm.h"
|
| 14 | 14 | |
| 15 | 15 | import pthread_mutex_lock;
|
| 16 | -import ghczminternal_GHCziInternalziTypes_Czh_info;
|
|
| 17 | -import ghczminternal_GHCziInternalziTypes_Izh_info;
|
|
| 18 | 16 | import AcquireSRWLockExclusive;
|
| 19 | 17 | import ReleaseSRWLockExclusive;
|
| 20 | 18 | |
| ... | ... | @@ -23,7 +21,6 @@ import whitehole_lockClosure_spin; |
| 23 | 21 | import whitehole_lockClosure_yield;
|
| 24 | 22 | #endif
|
| 25 | 23 | |
| 26 | - |
|
| 27 | 24 | #if !defined(UnregisterisedCompiler)
|
| 28 | 25 | import CLOSURE CCS_SYSTEM;
|
| 29 | 26 | import CLOSURE ENT_DYN_IND_ctr;
|
| ... | ... | @@ -1031,554 +1028,3 @@ INFO_TABLE_CONSTR(stg_ASYNCIO_LIVE0,0,0,0,CONSTR_NOCAF,"ASYNCIO_LIVE0","ASYNCIO_ |
| 1031 | 1028 | { foreign "C" barf("ASYNCIO_LIVE0 object (%p) entered!", R1) never returns; }
|
| 1032 | 1029 | |
| 1033 | 1030 | CLOSURE(stg_ASYNCIO_LIVE0_closure,stg_ASYNCIO_LIVE0); |
| 1034 | - |
|
| 1035 | -/* ----------------------------------------------------------------------------
|
|
| 1036 | - Note [CHARLIKE and INTLIKE closures]
|
|
| 1037 | - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
| 1038 | - These are static representations of Chars and small Ints, so that
|
|
| 1039 | - we can remove dynamic Chars and Ints during garbage collection and
|
|
| 1040 | - replace them with references to the static objects.
|
|
| 1041 | - ------------------------------------------------------------------------- */
|
|
| 1042 | - |
|
| 1043 | -#define Char_hash_con_info ghczminternal_GHCziInternalziTypes_Czh_con_info
|
|
| 1044 | -#define Int_hash_con_info ghczminternal_GHCziInternalziTypes_Izh_con_info
|
|
| 1045 | - |
|
| 1046 | -#define CHARLIKE_HDR(n) CLOSURE(Char_hash_con_info, n)
|
|
| 1047 | -#define INTLIKE_HDR(n) CLOSURE(Int_hash_con_info, n)
|
|
| 1048 | - |
|
| 1049 | -section "data" {
|
|
| 1050 | - stg_CHARLIKE_closure:
|
|
| 1051 | - CHARLIKE_HDR(0)
|
|
| 1052 | - CHARLIKE_HDR(1)
|
|
| 1053 | - CHARLIKE_HDR(2)
|
|
| 1054 | - CHARLIKE_HDR(3)
|
|
| 1055 | - CHARLIKE_HDR(4)
|
|
| 1056 | - CHARLIKE_HDR(5)
|
|
| 1057 | - CHARLIKE_HDR(6)
|
|
| 1058 | - CHARLIKE_HDR(7)
|
|
| 1059 | - CHARLIKE_HDR(8)
|
|
| 1060 | - CHARLIKE_HDR(9)
|
|
| 1061 | - CHARLIKE_HDR(10)
|
|
| 1062 | - CHARLIKE_HDR(11)
|
|
| 1063 | - CHARLIKE_HDR(12)
|
|
| 1064 | - CHARLIKE_HDR(13)
|
|
| 1065 | - CHARLIKE_HDR(14)
|
|
| 1066 | - CHARLIKE_HDR(15)
|
|
| 1067 | - CHARLIKE_HDR(16)
|
|
| 1068 | - CHARLIKE_HDR(17)
|
|
| 1069 | - CHARLIKE_HDR(18)
|
|
| 1070 | - CHARLIKE_HDR(19)
|
|
| 1071 | - CHARLIKE_HDR(20)
|
|
| 1072 | - CHARLIKE_HDR(21)
|
|
| 1073 | - CHARLIKE_HDR(22)
|
|
| 1074 | - CHARLIKE_HDR(23)
|
|
| 1075 | - CHARLIKE_HDR(24)
|
|
| 1076 | - CHARLIKE_HDR(25)
|
|
| 1077 | - CHARLIKE_HDR(26)
|
|
| 1078 | - CHARLIKE_HDR(27)
|
|
| 1079 | - CHARLIKE_HDR(28)
|
|
| 1080 | - CHARLIKE_HDR(29)
|
|
| 1081 | - CHARLIKE_HDR(30)
|
|
| 1082 | - CHARLIKE_HDR(31)
|
|
| 1083 | - CHARLIKE_HDR(32)
|
|
| 1084 | - CHARLIKE_HDR(33)
|
|
| 1085 | - CHARLIKE_HDR(34)
|
|
| 1086 | - CHARLIKE_HDR(35)
|
|
| 1087 | - CHARLIKE_HDR(36)
|
|
| 1088 | - CHARLIKE_HDR(37)
|
|
| 1089 | - CHARLIKE_HDR(38)
|
|
| 1090 | - CHARLIKE_HDR(39)
|
|
| 1091 | - CHARLIKE_HDR(40)
|
|
| 1092 | - CHARLIKE_HDR(41)
|
|
| 1093 | - CHARLIKE_HDR(42)
|
|
| 1094 | - CHARLIKE_HDR(43)
|
|
| 1095 | - CHARLIKE_HDR(44)
|
|
| 1096 | - CHARLIKE_HDR(45)
|
|
| 1097 | - CHARLIKE_HDR(46)
|
|
| 1098 | - CHARLIKE_HDR(47)
|
|
| 1099 | - CHARLIKE_HDR(48)
|
|
| 1100 | - CHARLIKE_HDR(49)
|
|
| 1101 | - CHARLIKE_HDR(50)
|
|
| 1102 | - CHARLIKE_HDR(51)
|
|
| 1103 | - CHARLIKE_HDR(52)
|
|
| 1104 | - CHARLIKE_HDR(53)
|
|
| 1105 | - CHARLIKE_HDR(54)
|
|
| 1106 | - CHARLIKE_HDR(55)
|
|
| 1107 | - CHARLIKE_HDR(56)
|
|
| 1108 | - CHARLIKE_HDR(57)
|
|
| 1109 | - CHARLIKE_HDR(58)
|
|
| 1110 | - CHARLIKE_HDR(59)
|
|
| 1111 | - CHARLIKE_HDR(60)
|
|
| 1112 | - CHARLIKE_HDR(61)
|
|
| 1113 | - CHARLIKE_HDR(62)
|
|
| 1114 | - CHARLIKE_HDR(63)
|
|
| 1115 | - CHARLIKE_HDR(64)
|
|
| 1116 | - CHARLIKE_HDR(65)
|
|
| 1117 | - CHARLIKE_HDR(66)
|
|
| 1118 | - CHARLIKE_HDR(67)
|
|
| 1119 | - CHARLIKE_HDR(68)
|
|
| 1120 | - CHARLIKE_HDR(69)
|
|
| 1121 | - CHARLIKE_HDR(70)
|
|
| 1122 | - CHARLIKE_HDR(71)
|
|
| 1123 | - CHARLIKE_HDR(72)
|
|
| 1124 | - CHARLIKE_HDR(73)
|
|
| 1125 | - CHARLIKE_HDR(74)
|
|
| 1126 | - CHARLIKE_HDR(75)
|
|
| 1127 | - CHARLIKE_HDR(76)
|
|
| 1128 | - CHARLIKE_HDR(77)
|
|
| 1129 | - CHARLIKE_HDR(78)
|
|
| 1130 | - CHARLIKE_HDR(79)
|
|
| 1131 | - CHARLIKE_HDR(80)
|
|
| 1132 | - CHARLIKE_HDR(81)
|
|
| 1133 | - CHARLIKE_HDR(82)
|
|
| 1134 | - CHARLIKE_HDR(83)
|
|
| 1135 | - CHARLIKE_HDR(84)
|
|
| 1136 | - CHARLIKE_HDR(85)
|
|
| 1137 | - CHARLIKE_HDR(86)
|
|
| 1138 | - CHARLIKE_HDR(87)
|
|
| 1139 | - CHARLIKE_HDR(88)
|
|
| 1140 | - CHARLIKE_HDR(89)
|
|
| 1141 | - CHARLIKE_HDR(90)
|
|
| 1142 | - CHARLIKE_HDR(91)
|
|
| 1143 | - CHARLIKE_HDR(92)
|
|
| 1144 | - CHARLIKE_HDR(93)
|
|
| 1145 | - CHARLIKE_HDR(94)
|
|
| 1146 | - CHARLIKE_HDR(95)
|
|
| 1147 | - CHARLIKE_HDR(96)
|
|
| 1148 | - CHARLIKE_HDR(97)
|
|
| 1149 | - CHARLIKE_HDR(98)
|
|
| 1150 | - CHARLIKE_HDR(99)
|
|
| 1151 | - CHARLIKE_HDR(100)
|
|
| 1152 | - CHARLIKE_HDR(101)
|
|
| 1153 | - CHARLIKE_HDR(102)
|
|
| 1154 | - CHARLIKE_HDR(103)
|
|
| 1155 | - CHARLIKE_HDR(104)
|
|
| 1156 | - CHARLIKE_HDR(105)
|
|
| 1157 | - CHARLIKE_HDR(106)
|
|
| 1158 | - CHARLIKE_HDR(107)
|
|
| 1159 | - CHARLIKE_HDR(108)
|
|
| 1160 | - CHARLIKE_HDR(109)
|
|
| 1161 | - CHARLIKE_HDR(110)
|
|
| 1162 | - CHARLIKE_HDR(111)
|
|
| 1163 | - CHARLIKE_HDR(112)
|
|
| 1164 | - CHARLIKE_HDR(113)
|
|
| 1165 | - CHARLIKE_HDR(114)
|
|
| 1166 | - CHARLIKE_HDR(115)
|
|
| 1167 | - CHARLIKE_HDR(116)
|
|
| 1168 | - CHARLIKE_HDR(117)
|
|
| 1169 | - CHARLIKE_HDR(118)
|
|
| 1170 | - CHARLIKE_HDR(119)
|
|
| 1171 | - CHARLIKE_HDR(120)
|
|
| 1172 | - CHARLIKE_HDR(121)
|
|
| 1173 | - CHARLIKE_HDR(122)
|
|
| 1174 | - CHARLIKE_HDR(123)
|
|
| 1175 | - CHARLIKE_HDR(124)
|
|
| 1176 | - CHARLIKE_HDR(125)
|
|
| 1177 | - CHARLIKE_HDR(126)
|
|
| 1178 | - CHARLIKE_HDR(127)
|
|
| 1179 | - CHARLIKE_HDR(128)
|
|
| 1180 | - CHARLIKE_HDR(129)
|
|
| 1181 | - CHARLIKE_HDR(130)
|
|
| 1182 | - CHARLIKE_HDR(131)
|
|
| 1183 | - CHARLIKE_HDR(132)
|
|
| 1184 | - CHARLIKE_HDR(133)
|
|
| 1185 | - CHARLIKE_HDR(134)
|
|
| 1186 | - CHARLIKE_HDR(135)
|
|
| 1187 | - CHARLIKE_HDR(136)
|
|
| 1188 | - CHARLIKE_HDR(137)
|
|
| 1189 | - CHARLIKE_HDR(138)
|
|
| 1190 | - CHARLIKE_HDR(139)
|
|
| 1191 | - CHARLIKE_HDR(140)
|
|
| 1192 | - CHARLIKE_HDR(141)
|
|
| 1193 | - CHARLIKE_HDR(142)
|
|
| 1194 | - CHARLIKE_HDR(143)
|
|
| 1195 | - CHARLIKE_HDR(144)
|
|
| 1196 | - CHARLIKE_HDR(145)
|
|
| 1197 | - CHARLIKE_HDR(146)
|
|
| 1198 | - CHARLIKE_HDR(147)
|
|
| 1199 | - CHARLIKE_HDR(148)
|
|
| 1200 | - CHARLIKE_HDR(149)
|
|
| 1201 | - CHARLIKE_HDR(150)
|
|
| 1202 | - CHARLIKE_HDR(151)
|
|
| 1203 | - CHARLIKE_HDR(152)
|
|
| 1204 | - CHARLIKE_HDR(153)
|
|
| 1205 | - CHARLIKE_HDR(154)
|
|
| 1206 | - CHARLIKE_HDR(155)
|
|
| 1207 | - CHARLIKE_HDR(156)
|
|
| 1208 | - CHARLIKE_HDR(157)
|
|
| 1209 | - CHARLIKE_HDR(158)
|
|
| 1210 | - CHARLIKE_HDR(159)
|
|
| 1211 | - CHARLIKE_HDR(160)
|
|
| 1212 | - CHARLIKE_HDR(161)
|
|
| 1213 | - CHARLIKE_HDR(162)
|
|
| 1214 | - CHARLIKE_HDR(163)
|
|
| 1215 | - CHARLIKE_HDR(164)
|
|
| 1216 | - CHARLIKE_HDR(165)
|
|
| 1217 | - CHARLIKE_HDR(166)
|
|
| 1218 | - CHARLIKE_HDR(167)
|
|
| 1219 | - CHARLIKE_HDR(168)
|
|
| 1220 | - CHARLIKE_HDR(169)
|
|
| 1221 | - CHARLIKE_HDR(170)
|
|
| 1222 | - CHARLIKE_HDR(171)
|
|
| 1223 | - CHARLIKE_HDR(172)
|
|
| 1224 | - CHARLIKE_HDR(173)
|
|
| 1225 | - CHARLIKE_HDR(174)
|
|
| 1226 | - CHARLIKE_HDR(175)
|
|
| 1227 | - CHARLIKE_HDR(176)
|
|
| 1228 | - CHARLIKE_HDR(177)
|
|
| 1229 | - CHARLIKE_HDR(178)
|
|
| 1230 | - CHARLIKE_HDR(179)
|
|
| 1231 | - CHARLIKE_HDR(180)
|
|
| 1232 | - CHARLIKE_HDR(181)
|
|
| 1233 | - CHARLIKE_HDR(182)
|
|
| 1234 | - CHARLIKE_HDR(183)
|
|
| 1235 | - CHARLIKE_HDR(184)
|
|
| 1236 | - CHARLIKE_HDR(185)
|
|
| 1237 | - CHARLIKE_HDR(186)
|
|
| 1238 | - CHARLIKE_HDR(187)
|
|
| 1239 | - CHARLIKE_HDR(188)
|
|
| 1240 | - CHARLIKE_HDR(189)
|
|
| 1241 | - CHARLIKE_HDR(190)
|
|
| 1242 | - CHARLIKE_HDR(191)
|
|
| 1243 | - CHARLIKE_HDR(192)
|
|
| 1244 | - CHARLIKE_HDR(193)
|
|
| 1245 | - CHARLIKE_HDR(194)
|
|
| 1246 | - CHARLIKE_HDR(195)
|
|
| 1247 | - CHARLIKE_HDR(196)
|
|
| 1248 | - CHARLIKE_HDR(197)
|
|
| 1249 | - CHARLIKE_HDR(198)
|
|
| 1250 | - CHARLIKE_HDR(199)
|
|
| 1251 | - CHARLIKE_HDR(200)
|
|
| 1252 | - CHARLIKE_HDR(201)
|
|
| 1253 | - CHARLIKE_HDR(202)
|
|
| 1254 | - CHARLIKE_HDR(203)
|
|
| 1255 | - CHARLIKE_HDR(204)
|
|
| 1256 | - CHARLIKE_HDR(205)
|
|
| 1257 | - CHARLIKE_HDR(206)
|
|
| 1258 | - CHARLIKE_HDR(207)
|
|
| 1259 | - CHARLIKE_HDR(208)
|
|
| 1260 | - CHARLIKE_HDR(209)
|
|
| 1261 | - CHARLIKE_HDR(210)
|
|
| 1262 | - CHARLIKE_HDR(211)
|
|
| 1263 | - CHARLIKE_HDR(212)
|
|
| 1264 | - CHARLIKE_HDR(213)
|
|
| 1265 | - CHARLIKE_HDR(214)
|
|
| 1266 | - CHARLIKE_HDR(215)
|
|
| 1267 | - CHARLIKE_HDR(216)
|
|
| 1268 | - CHARLIKE_HDR(217)
|
|
| 1269 | - CHARLIKE_HDR(218)
|
|
| 1270 | - CHARLIKE_HDR(219)
|
|
| 1271 | - CHARLIKE_HDR(220)
|
|
| 1272 | - CHARLIKE_HDR(221)
|
|
| 1273 | - CHARLIKE_HDR(222)
|
|
| 1274 | - CHARLIKE_HDR(223)
|
|
| 1275 | - CHARLIKE_HDR(224)
|
|
| 1276 | - CHARLIKE_HDR(225)
|
|
| 1277 | - CHARLIKE_HDR(226)
|
|
| 1278 | - CHARLIKE_HDR(227)
|
|
| 1279 | - CHARLIKE_HDR(228)
|
|
| 1280 | - CHARLIKE_HDR(229)
|
|
| 1281 | - CHARLIKE_HDR(230)
|
|
| 1282 | - CHARLIKE_HDR(231)
|
|
| 1283 | - CHARLIKE_HDR(232)
|
|
| 1284 | - CHARLIKE_HDR(233)
|
|
| 1285 | - CHARLIKE_HDR(234)
|
|
| 1286 | - CHARLIKE_HDR(235)
|
|
| 1287 | - CHARLIKE_HDR(236)
|
|
| 1288 | - CHARLIKE_HDR(237)
|
|
| 1289 | - CHARLIKE_HDR(238)
|
|
| 1290 | - CHARLIKE_HDR(239)
|
|
| 1291 | - CHARLIKE_HDR(240)
|
|
| 1292 | - CHARLIKE_HDR(241)
|
|
| 1293 | - CHARLIKE_HDR(242)
|
|
| 1294 | - CHARLIKE_HDR(243)
|
|
| 1295 | - CHARLIKE_HDR(244)
|
|
| 1296 | - CHARLIKE_HDR(245)
|
|
| 1297 | - CHARLIKE_HDR(246)
|
|
| 1298 | - CHARLIKE_HDR(247)
|
|
| 1299 | - CHARLIKE_HDR(248)
|
|
| 1300 | - CHARLIKE_HDR(249)
|
|
| 1301 | - CHARLIKE_HDR(250)
|
|
| 1302 | - CHARLIKE_HDR(251)
|
|
| 1303 | - CHARLIKE_HDR(252)
|
|
| 1304 | - CHARLIKE_HDR(253)
|
|
| 1305 | - CHARLIKE_HDR(254)
|
|
| 1306 | - CHARLIKE_HDR(255)
|
|
| 1307 | -}
|
|
| 1308 | - |
|
| 1309 | -section "data" {
|
|
| 1310 | - stg_INTLIKE_closure:
|
|
| 1311 | - INTLIKE_HDR(-16) /* MIN_INTLIKE == -16 */
|
|
| 1312 | - INTLIKE_HDR(-15)
|
|
| 1313 | - INTLIKE_HDR(-14)
|
|
| 1314 | - INTLIKE_HDR(-13)
|
|
| 1315 | - INTLIKE_HDR(-12)
|
|
| 1316 | - INTLIKE_HDR(-11)
|
|
| 1317 | - INTLIKE_HDR(-10)
|
|
| 1318 | - INTLIKE_HDR(-9)
|
|
| 1319 | - INTLIKE_HDR(-8)
|
|
| 1320 | - INTLIKE_HDR(-7)
|
|
| 1321 | - INTLIKE_HDR(-6)
|
|
| 1322 | - INTLIKE_HDR(-5)
|
|
| 1323 | - INTLIKE_HDR(-4)
|
|
| 1324 | - INTLIKE_HDR(-3)
|
|
| 1325 | - INTLIKE_HDR(-2)
|
|
| 1326 | - INTLIKE_HDR(-1)
|
|
| 1327 | - INTLIKE_HDR(0)
|
|
| 1328 | - INTLIKE_HDR(1)
|
|
| 1329 | - INTLIKE_HDR(2)
|
|
| 1330 | - INTLIKE_HDR(3)
|
|
| 1331 | - INTLIKE_HDR(4)
|
|
| 1332 | - INTLIKE_HDR(5)
|
|
| 1333 | - INTLIKE_HDR(6)
|
|
| 1334 | - INTLIKE_HDR(7)
|
|
| 1335 | - INTLIKE_HDR(8)
|
|
| 1336 | - INTLIKE_HDR(9)
|
|
| 1337 | - INTLIKE_HDR(10)
|
|
| 1338 | - INTLIKE_HDR(11)
|
|
| 1339 | - INTLIKE_HDR(12)
|
|
| 1340 | - INTLIKE_HDR(13)
|
|
| 1341 | - INTLIKE_HDR(14)
|
|
| 1342 | - INTLIKE_HDR(15)
|
|
| 1343 | - INTLIKE_HDR(16)
|
|
| 1344 | - INTLIKE_HDR(17)
|
|
| 1345 | - INTLIKE_HDR(18)
|
|
| 1346 | - INTLIKE_HDR(19)
|
|
| 1347 | - INTLIKE_HDR(20)
|
|
| 1348 | - INTLIKE_HDR(21)
|
|
| 1349 | - INTLIKE_HDR(22)
|
|
| 1350 | - INTLIKE_HDR(23)
|
|
| 1351 | - INTLIKE_HDR(24)
|
|
| 1352 | - INTLIKE_HDR(25)
|
|
| 1353 | - INTLIKE_HDR(26)
|
|
| 1354 | - INTLIKE_HDR(27)
|
|
| 1355 | - INTLIKE_HDR(28)
|
|
| 1356 | - INTLIKE_HDR(29)
|
|
| 1357 | - INTLIKE_HDR(30)
|
|
| 1358 | - INTLIKE_HDR(31)
|
|
| 1359 | - INTLIKE_HDR(32)
|
|
| 1360 | - INTLIKE_HDR(33)
|
|
| 1361 | - INTLIKE_HDR(34)
|
|
| 1362 | - INTLIKE_HDR(35)
|
|
| 1363 | - INTLIKE_HDR(36)
|
|
| 1364 | - INTLIKE_HDR(37)
|
|
| 1365 | - INTLIKE_HDR(38)
|
|
| 1366 | - INTLIKE_HDR(39)
|
|
| 1367 | - INTLIKE_HDR(40)
|
|
| 1368 | - INTLIKE_HDR(41)
|
|
| 1369 | - INTLIKE_HDR(42)
|
|
| 1370 | - INTLIKE_HDR(43)
|
|
| 1371 | - INTLIKE_HDR(44)
|
|
| 1372 | - INTLIKE_HDR(45)
|
|
| 1373 | - INTLIKE_HDR(46)
|
|
| 1374 | - INTLIKE_HDR(47)
|
|
| 1375 | - INTLIKE_HDR(48)
|
|
| 1376 | - INTLIKE_HDR(49)
|
|
| 1377 | - INTLIKE_HDR(50)
|
|
| 1378 | - INTLIKE_HDR(51)
|
|
| 1379 | - INTLIKE_HDR(52)
|
|
| 1380 | - INTLIKE_HDR(53)
|
|
| 1381 | - INTLIKE_HDR(54)
|
|
| 1382 | - INTLIKE_HDR(55)
|
|
| 1383 | - INTLIKE_HDR(56)
|
|
| 1384 | - INTLIKE_HDR(57)
|
|
| 1385 | - INTLIKE_HDR(58)
|
|
| 1386 | - INTLIKE_HDR(59)
|
|
| 1387 | - INTLIKE_HDR(60)
|
|
| 1388 | - INTLIKE_HDR(61)
|
|
| 1389 | - INTLIKE_HDR(62)
|
|
| 1390 | - INTLIKE_HDR(63)
|
|
| 1391 | - INTLIKE_HDR(64)
|
|
| 1392 | - INTLIKE_HDR(65)
|
|
| 1393 | - INTLIKE_HDR(66)
|
|
| 1394 | - INTLIKE_HDR(67)
|
|
| 1395 | - INTLIKE_HDR(68)
|
|
| 1396 | - INTLIKE_HDR(69)
|
|
| 1397 | - INTLIKE_HDR(70)
|
|
| 1398 | - INTLIKE_HDR(71)
|
|
| 1399 | - INTLIKE_HDR(72)
|
|
| 1400 | - INTLIKE_HDR(73)
|
|
| 1401 | - INTLIKE_HDR(74)
|
|
| 1402 | - INTLIKE_HDR(75)
|
|
| 1403 | - INTLIKE_HDR(76)
|
|
| 1404 | - INTLIKE_HDR(77)
|
|
| 1405 | - INTLIKE_HDR(78)
|
|
| 1406 | - INTLIKE_HDR(79)
|
|
| 1407 | - INTLIKE_HDR(80)
|
|
| 1408 | - INTLIKE_HDR(81)
|
|
| 1409 | - INTLIKE_HDR(82)
|
|
| 1410 | - INTLIKE_HDR(83)
|
|
| 1411 | - INTLIKE_HDR(84)
|
|
| 1412 | - INTLIKE_HDR(85)
|
|
| 1413 | - INTLIKE_HDR(86)
|
|
| 1414 | - INTLIKE_HDR(87)
|
|
| 1415 | - INTLIKE_HDR(88)
|
|
| 1416 | - INTLIKE_HDR(89)
|
|
| 1417 | - INTLIKE_HDR(90)
|
|
| 1418 | - INTLIKE_HDR(91)
|
|
| 1419 | - INTLIKE_HDR(92)
|
|
| 1420 | - INTLIKE_HDR(93)
|
|
| 1421 | - INTLIKE_HDR(94)
|
|
| 1422 | - INTLIKE_HDR(95)
|
|
| 1423 | - INTLIKE_HDR(96)
|
|
| 1424 | - INTLIKE_HDR(97)
|
|
| 1425 | - INTLIKE_HDR(98)
|
|
| 1426 | - INTLIKE_HDR(99)
|
|
| 1427 | - INTLIKE_HDR(100)
|
|
| 1428 | - INTLIKE_HDR(101)
|
|
| 1429 | - INTLIKE_HDR(102)
|
|
| 1430 | - INTLIKE_HDR(103)
|
|
| 1431 | - INTLIKE_HDR(104)
|
|
| 1432 | - INTLIKE_HDR(105)
|
|
| 1433 | - INTLIKE_HDR(106)
|
|
| 1434 | - INTLIKE_HDR(107)
|
|
| 1435 | - INTLIKE_HDR(108)
|
|
| 1436 | - INTLIKE_HDR(109)
|
|
| 1437 | - INTLIKE_HDR(110)
|
|
| 1438 | - INTLIKE_HDR(111)
|
|
| 1439 | - INTLIKE_HDR(112)
|
|
| 1440 | - INTLIKE_HDR(113)
|
|
| 1441 | - INTLIKE_HDR(114)
|
|
| 1442 | - INTLIKE_HDR(115)
|
|
| 1443 | - INTLIKE_HDR(116)
|
|
| 1444 | - INTLIKE_HDR(117)
|
|
| 1445 | - INTLIKE_HDR(118)
|
|
| 1446 | - INTLIKE_HDR(119)
|
|
| 1447 | - INTLIKE_HDR(120)
|
|
| 1448 | - INTLIKE_HDR(121)
|
|
| 1449 | - INTLIKE_HDR(122)
|
|
| 1450 | - INTLIKE_HDR(123)
|
|
| 1451 | - INTLIKE_HDR(124)
|
|
| 1452 | - INTLIKE_HDR(125)
|
|
| 1453 | - INTLIKE_HDR(126)
|
|
| 1454 | - INTLIKE_HDR(127)
|
|
| 1455 | - INTLIKE_HDR(128)
|
|
| 1456 | - INTLIKE_HDR(129)
|
|
| 1457 | - INTLIKE_HDR(130)
|
|
| 1458 | - INTLIKE_HDR(131)
|
|
| 1459 | - INTLIKE_HDR(132)
|
|
| 1460 | - INTLIKE_HDR(133)
|
|
| 1461 | - INTLIKE_HDR(134)
|
|
| 1462 | - INTLIKE_HDR(135)
|
|
| 1463 | - INTLIKE_HDR(136)
|
|
| 1464 | - INTLIKE_HDR(137)
|
|
| 1465 | - INTLIKE_HDR(138)
|
|
| 1466 | - INTLIKE_HDR(139)
|
|
| 1467 | - INTLIKE_HDR(140)
|
|
| 1468 | - INTLIKE_HDR(141)
|
|
| 1469 | - INTLIKE_HDR(142)
|
|
| 1470 | - INTLIKE_HDR(143)
|
|
| 1471 | - INTLIKE_HDR(144)
|
|
| 1472 | - INTLIKE_HDR(145)
|
|
| 1473 | - INTLIKE_HDR(146)
|
|
| 1474 | - INTLIKE_HDR(147)
|
|
| 1475 | - INTLIKE_HDR(148)
|
|
| 1476 | - INTLIKE_HDR(149)
|
|
| 1477 | - INTLIKE_HDR(150)
|
|
| 1478 | - INTLIKE_HDR(151)
|
|
| 1479 | - INTLIKE_HDR(152)
|
|
| 1480 | - INTLIKE_HDR(153)
|
|
| 1481 | - INTLIKE_HDR(154)
|
|
| 1482 | - INTLIKE_HDR(155)
|
|
| 1483 | - INTLIKE_HDR(156)
|
|
| 1484 | - INTLIKE_HDR(157)
|
|
| 1485 | - INTLIKE_HDR(158)
|
|
| 1486 | - INTLIKE_HDR(159)
|
|
| 1487 | - INTLIKE_HDR(160)
|
|
| 1488 | - INTLIKE_HDR(161)
|
|
| 1489 | - INTLIKE_HDR(162)
|
|
| 1490 | - INTLIKE_HDR(163)
|
|
| 1491 | - INTLIKE_HDR(164)
|
|
| 1492 | - INTLIKE_HDR(165)
|
|
| 1493 | - INTLIKE_HDR(166)
|
|
| 1494 | - INTLIKE_HDR(167)
|
|
| 1495 | - INTLIKE_HDR(168)
|
|
| 1496 | - INTLIKE_HDR(169)
|
|
| 1497 | - INTLIKE_HDR(170)
|
|
| 1498 | - INTLIKE_HDR(171)
|
|
| 1499 | - INTLIKE_HDR(172)
|
|
| 1500 | - INTLIKE_HDR(173)
|
|
| 1501 | - INTLIKE_HDR(174)
|
|
| 1502 | - INTLIKE_HDR(175)
|
|
| 1503 | - INTLIKE_HDR(176)
|
|
| 1504 | - INTLIKE_HDR(177)
|
|
| 1505 | - INTLIKE_HDR(178)
|
|
| 1506 | - INTLIKE_HDR(179)
|
|
| 1507 | - INTLIKE_HDR(180)
|
|
| 1508 | - INTLIKE_HDR(181)
|
|
| 1509 | - INTLIKE_HDR(182)
|
|
| 1510 | - INTLIKE_HDR(183)
|
|
| 1511 | - INTLIKE_HDR(184)
|
|
| 1512 | - INTLIKE_HDR(185)
|
|
| 1513 | - INTLIKE_HDR(186)
|
|
| 1514 | - INTLIKE_HDR(187)
|
|
| 1515 | - INTLIKE_HDR(188)
|
|
| 1516 | - INTLIKE_HDR(189)
|
|
| 1517 | - INTLIKE_HDR(190)
|
|
| 1518 | - INTLIKE_HDR(191)
|
|
| 1519 | - INTLIKE_HDR(192)
|
|
| 1520 | - INTLIKE_HDR(193)
|
|
| 1521 | - INTLIKE_HDR(194)
|
|
| 1522 | - INTLIKE_HDR(195)
|
|
| 1523 | - INTLIKE_HDR(196)
|
|
| 1524 | - INTLIKE_HDR(197)
|
|
| 1525 | - INTLIKE_HDR(198)
|
|
| 1526 | - INTLIKE_HDR(199)
|
|
| 1527 | - INTLIKE_HDR(200)
|
|
| 1528 | - INTLIKE_HDR(201)
|
|
| 1529 | - INTLIKE_HDR(202)
|
|
| 1530 | - INTLIKE_HDR(203)
|
|
| 1531 | - INTLIKE_HDR(204)
|
|
| 1532 | - INTLIKE_HDR(205)
|
|
| 1533 | - INTLIKE_HDR(206)
|
|
| 1534 | - INTLIKE_HDR(207)
|
|
| 1535 | - INTLIKE_HDR(208)
|
|
| 1536 | - INTLIKE_HDR(209)
|
|
| 1537 | - INTLIKE_HDR(210)
|
|
| 1538 | - INTLIKE_HDR(211)
|
|
| 1539 | - INTLIKE_HDR(212)
|
|
| 1540 | - INTLIKE_HDR(213)
|
|
| 1541 | - INTLIKE_HDR(214)
|
|
| 1542 | - INTLIKE_HDR(215)
|
|
| 1543 | - INTLIKE_HDR(216)
|
|
| 1544 | - INTLIKE_HDR(217)
|
|
| 1545 | - INTLIKE_HDR(218)
|
|
| 1546 | - INTLIKE_HDR(219)
|
|
| 1547 | - INTLIKE_HDR(220)
|
|
| 1548 | - INTLIKE_HDR(221)
|
|
| 1549 | - INTLIKE_HDR(222)
|
|
| 1550 | - INTLIKE_HDR(223)
|
|
| 1551 | - INTLIKE_HDR(224)
|
|
| 1552 | - INTLIKE_HDR(225)
|
|
| 1553 | - INTLIKE_HDR(226)
|
|
| 1554 | - INTLIKE_HDR(227)
|
|
| 1555 | - INTLIKE_HDR(228)
|
|
| 1556 | - INTLIKE_HDR(229)
|
|
| 1557 | - INTLIKE_HDR(230)
|
|
| 1558 | - INTLIKE_HDR(231)
|
|
| 1559 | - INTLIKE_HDR(232)
|
|
| 1560 | - INTLIKE_HDR(233)
|
|
| 1561 | - INTLIKE_HDR(234)
|
|
| 1562 | - INTLIKE_HDR(235)
|
|
| 1563 | - INTLIKE_HDR(236)
|
|
| 1564 | - INTLIKE_HDR(237)
|
|
| 1565 | - INTLIKE_HDR(238)
|
|
| 1566 | - INTLIKE_HDR(239)
|
|
| 1567 | - INTLIKE_HDR(240)
|
|
| 1568 | - INTLIKE_HDR(241)
|
|
| 1569 | - INTLIKE_HDR(242)
|
|
| 1570 | - INTLIKE_HDR(243)
|
|
| 1571 | - INTLIKE_HDR(244)
|
|
| 1572 | - INTLIKE_HDR(245)
|
|
| 1573 | - INTLIKE_HDR(246)
|
|
| 1574 | - INTLIKE_HDR(247)
|
|
| 1575 | - INTLIKE_HDR(248)
|
|
| 1576 | - INTLIKE_HDR(249)
|
|
| 1577 | - INTLIKE_HDR(250)
|
|
| 1578 | - INTLIKE_HDR(251)
|
|
| 1579 | - INTLIKE_HDR(252)
|
|
| 1580 | - INTLIKE_HDR(253)
|
|
| 1581 | - INTLIKE_HDR(254)
|
|
| 1582 | - INTLIKE_HDR(255) /* MAX_INTLIKE == 255
|
|
| 1583 | - See #16961 for why 255 */
|
|
| 1584 | -} |
| ... | ... | @@ -57,11 +57,12 @@ |
| 57 | 57 | #define MAX_SPEC_CONSTR_SIZE 2
|
| 58 | 58 | |
| 59 | 59 | /* Range of built-in table of static small int-like and char-like closures.
|
| 60 | + * Range is inclusive of both minimum and maximum.
|
|
| 60 | 61 | *
|
| 61 | 62 | * NB. This corresponds with the number of actual INTLIKE/CHARLIKE
|
| 62 | 63 | * closures defined in rts/StgMiscClosures.cmm.
|
| 63 | 64 | */
|
| 64 | -#define MAX_INTLIKE 255
|
|
| 65 | +#define MAX_INTLIKE 255 /* See #16961 for why 255 */
|
|
| 65 | 66 | #define MIN_INTLIKE (-16)
|
| 66 | 67 | |
| 67 | 68 | #define MAX_CHARLIKE 255
|
| ... | ... | @@ -277,8 +277,8 @@ RTS_ENTRY(stg_NO_FINALIZER); |
| 277 | 277 | extern StgWordArray stg_CHARLIKE_closure;
|
| 278 | 278 | extern StgWordArray stg_INTLIKE_closure;
|
| 279 | 279 | #else
|
| 280 | -extern StgIntCharlikeClosure stg_CHARLIKE_closure[];
|
|
| 281 | -extern StgIntCharlikeClosure stg_INTLIKE_closure[];
|
|
| 280 | +extern StgIntCharlikeClosure stg_CHARLIKE_closure[MAX_CHARLIKE - MIN_CHARLIKE + 1];
|
|
| 281 | +extern StgIntCharlikeClosure stg_INTLIKE_closure[MAX_INTLIKE - MIN_INTLIKE + 1];
|
|
| 282 | 282 | #endif
|
| 283 | 283 | |
| 284 | 284 | /* StgStartup */
|
| ... | ... | @@ -403,6 +403,7 @@ library |
| 403 | 403 | adjustor/AdjustorPool.c
|
| 404 | 404 | ExecPage.c
|
| 405 | 405 | Arena.c
|
| 406 | + BuiltinClosures.c
|
|
| 406 | 407 | Capability.c
|
| 407 | 408 | CheckUnload.c
|
| 408 | 409 | CheckVectorSupport.c
|
| 1 | -ExitSuccess
|
|
| 2 | -ExitFailure 255
|
|
| 3 | -Exc: /non/existent: rawSystem: runInteractiveProcess: exec: does not exist (No such file or directory)
|
|
| 4 | -Done |
| 1 | -GHC runtime linker: fatal error: I found a duplicate definition for symbol
|
|
| 2 | - _a
|
|
| 3 | -whilst processing object file
|
|
| 4 | - E:\ghc-dev\msys64\home\Tamar\ghc\testsuite\tests\rts\T11223\T11223_link_order_a_b_2_fail.run\libfoo_link_lib_3.a
|
|
| 5 | -The symbol was previously defined in
|
|
| 6 | - E:\ghc-dev\msys64\home\Tamar\ghc\testsuite\tests\rts\T11223\T11223_link_order_a_b_2_fail.run\libbar_link_lib_3.a(#3:bar_link_lib_3.o)
|
|
| 7 | -This could be caused by:
|
|
| 8 | - * Loading two different object files which export the same symbol
|
|
| 9 | - * Specifying the same object file twice on the GHCi command line
|
|
| 10 | - * An incorrect `package.conf' entry, causing some object to be
|
|
| 11 | - loaded twice.
|
|
| 12 | -ghc-stage2.exe: ^^ Could not load '_c', dependency unresolved. See top entry above. You might consider using --optimistic-linking
|
|
| 13 | - |
|
| 14 | - |
|
| 15 | -GHC.ByteCode.Linker: can't find label
|
|
| 16 | -During interactive linking, GHCi couldn't find the following symbol:
|
|
| 17 | - c
|
|
| 18 | -This may be due to you not asking GHCi to load extra object files,
|
|
| 19 | -archives or DLLs needed by your current session. Restart GHCi, specifying
|
|
| 20 | -the missing library using the -L/path/to/object/dir and -lmissinglibname
|
|
| 21 | -flags, or simply by naming the relevant files on the GHCi command line.
|
|
| 22 | -Alternatively, this link failure might indicate a bug in GHCi.
|
|
| 23 | -If you suspect the latter, please report this as a GHC bug:
|
|
| 24 | - https://www.haskell.org/ghc/reportabug
|
|
| 25 | - |
| 1 | -GHC runtime linker: fatal error: I found a duplicate definition for symbol
|
|
| 2 | - _a
|
|
| 3 | -whilst processing object file
|
|
| 4 | - E:\ghc-dev\msys64\home\Tamar\ghc\testsuite\tests\rts\T11223\T11223_simple_duplicate_lib.run\libfoo_dup_lib.a
|
|
| 5 | -The symbol was previously defined in
|
|
| 6 | - E:\ghc-dev\msys64\home\Tamar\ghc\testsuite\tests\rts\T11223\T11223_simple_duplicate_lib.run\bar_dup_lib.o
|
|
| 7 | -This could be caused by:
|
|
| 8 | - * Loading two different object files which export the same symbol
|
|
| 9 | - * Specifying the same object file twice on the GHCi command line
|
|
| 10 | - * An incorrect `package.conf' entry, causing some object to be
|
|
| 11 | - loaded twice.
|
|
| 12 | -ghc-stage2.exe: ^^ Could not load '_c', dependency unresolved. See top entry above. You might consider using --optimistic-linking
|
|
| 13 | - |
|
| 14 | - |
|
| 15 | -GHC.ByteCode.Linker: can't find label
|
|
| 16 | -During interactive linking, GHCi couldn't find the following symbol:
|
|
| 17 | - c
|
|
| 18 | -This may be due to you not asking GHCi to load extra object files,
|
|
| 19 | -archives or DLLs needed by your current session. Restart GHCi, specifying
|
|
| 20 | -the missing library using the -L/path/to/object/dir and -lmissinglibname
|
|
| 21 | -flags, or simply by naming the relevant files on the GHCi command line.
|
|
| 22 | -Alternatively, this link failure might indicate a bug in GHCi.
|
|
| 23 | -If you suspect the latter, please report this as a GHC bug:
|
|
| 24 | - https://www.haskell.org/ghc/reportabug
|
|
| 25 | - |
| 1 | -outofmem: memory allocation failed (requested 1074790400 bytes) |
| 1 | -outofmem.exe: Out of memory |
| 1 | -outofmem: memory allocation failed (requested 1074790400 bytes) |