6,478 research outputs found

    Interprocedural Specialization of Higher-Order Dynamic Languages Without Static Analysis

    No full text
    Function duplication is widely used by JIT compilers to efficiently implement dynamic languages. When the source language supports higher order functions, the called function's identity is not generally known when compiling a call site, thus limiting the use of function duplication. This paper presents a JIT compilation technique enabling function duplication in the presence of higher order functions. Unlike existing techniques, our approach uses dynamic dispatch at call sites instead of relying on a conservative analysis to discover function identity. We have implemented the technique in a JIT compiler for Scheme. Experiments show that it is efficient at removing type checks, allowing the removal of almost all the run time type checks for several benchmarks. This allows the compiler to generate code up to 50% faster. We show that the technique can be used to duplicate functions using other run time information opening up new applications such as register allocation based duplication and aggressive inlining

    Interprocedural Type Specialization of JavaScript Programs Without Type Analysis

    No full text
    Previous work proposed lazy basic block versioning, a technique for just-in-time compilation of dynamic languages which we believe represents an interesting point in the design space. Basic block versioning is simple to implement, simple enough that a single developer can build a complete just-in-time compiler for JavaScript in a year, yet it performs surprisingly well as it propagates context-sensitive type information to generate type-specialized code on the fly. In this paper, we demonstrate that lazy basic block versioning can be extended is simple ways to propagate type information across function call boundaries. This gives some of the benefits of whole-program analysis, or a tracing compiler, without having to implement the machinery for either. We have implemented this proposal in the Higgs JavaScript virtual machine and report on the empirical evaluation of this system on a set of industry standard benchmarks. The approach eliminates 94.3 of dynamic type tests on average, which we show is more than what is achievable with any static whole-program type analysis

    The Future of Canadian Climate Policy — with Marc Lee

    No full text
    Marc Lee is a Senior Economist at the Canadian Centre for Policy Alternatives\u27 BC Office. In addition to tracking federal and provincial budgets and economic trends, Marc has published on a range of topics from poverty and inequality to globalization and international trade to public services and regulation. Marc is the Co-Director of the Climate Justice Project, a research partnership with UBC\u27s School of Community and Regional Planning that examines the links between climate change policies and social justice.Resources:Climate Justice Project: www.policyalternatives.ca/projects/cli…tice-projectMarc Lee\u27s Posts on Policy Note: www.policynote.ca/author/marclee/Canadian Centre for Policy Alternatives: www.policyalternatives.ca/Marc\u27s Twitter: twitter.com/MarcLeeCCPA International Panel on Climate Change, 2021 report: www.ipcc.ch/report/ar6/wg1

    Simple and Effective Type Check Removal through Lazy Basic Block Versioning

    No full text
    Dynamically typed programming languages such as JavaScript and Python defer type checking to run time. In order to maximize performance, dynamic language VM implementations must attempt to eliminate redundant dynamic type checks. However, type inference analyses are often costly and involve tradeoffs between compilation time and resulting precision. This has lead to the creation of increasingly complex multi-tiered VM architectures. This paper introduces lazy basic block versioning, a simple JIT compilation technique which effectively removes redundant type checks from critical code paths. This novel approach lazily generates type-specialized versions of basic blocks on-the-fly while propagating context-dependent type information. This does not require the use of costly program analyses, is not restricted by the precision limitations of traditional type analyses and avoids the implementation complexity of speculative optimization techniques. We have implemented intraprocedural lazy basic block versioning in a JavaScript JIT compiler. This approach is compared with a classical flow-based type analysis. Lazy basic block versioning performs as well or better on all benchmarks. On average, 71% of type tests are eliminated, yielding speedups of up to 50%. We also show that our implementation generates more efficient machine code than TraceMonkey, a tracing JIT compiler for JavaScript, on several benchmarks. The combination of implementation simplicity, low algorithmic complexity and good run time performance makes basic block versioning attractive for baseline JIT compilers

    Climate Justice & Inequality: The Future of Canadian Climate Policy — with Marc Lee

    No full text
    Marc Lee is a Senior Economist at the Canadian Centre for Policy Alternatives\u27 BC Office. In addition to tracking federal and provincial budgets and economic trends, Marc has published on a range of topics from poverty and inequality to globalization and international trade to public services and regulation. Marc is the Co-Director of the Climate Justice Project, a research partnership with UBC\u27s School of Community and Regional Planning that examines the links between climate change policies and social justice.Resources: Climate Justice Project: https://www.policyalternatives.ca/projects/climate-justice-projectMarc Lee\u27s Posts on Policy Note: https://www.policynote.ca/author/marclee/Canadian Centre for Policy Alternatives: https://www.policyalternatives.ca/Marc\u27s Twitter: https://twitter.com/MarcLeeCCPA International Panel on Climate Change, 2021 report: https://www.ipcc.ch/report/ar6/wg1

    UKMARC AMC: Draft Rev 4.0: UK MARC format for archives and manuscripts control (UK MARC AMC)

    No full text
    This draft is the first attempt to establish a UK MARC specifically for Archives and Manuscripts Control since the British Library indicated that it would countenance such extensions to the national UK MARC format. In order to keep consistency with the general UK MARC format, standard UK MARC subject fields are not included in this document, since they should be taken from the latest version of the UK MARC manual. {A note of them should perhaps be included in UK MARC AMC.} {NB Text in braces is intended to be explanatory material for readers of this draft}. Certain other fields have not been included that might occasionally be used in the cataloguing of archival materials but would generally only be used for such materials in organizations which were combining archive databases with library databases. This MARC version is intended for use with descriptions of archive or anuscript material that follow, or fit, the traditional style of cataloguing: we assume that these will normally relate to paper or parchment originals. It is not intended for use with descriptions of other kinds of material. For these, fields may be drawn from the appropriate UK MARC document. MARC versions for use with archives in special formats should be developed, in order to complete the full range of facilities available to archivists and curators

    MARC 21 para recursos contínuos

    No full text
    Translation and adaptation of the MARC 21 Format for Bibliographic Data, and MARC 21 Format for Holdings Data, Network Development and MARC Standards Office, Library of Congress, USA, by Angela Salles. Rio de Janeiro, 2010. 2 v. V.1 MARC 21 format for bibliographic data (updated until October 2010). V.2 MARC 21 format for data collection (Holdings) (updated until October 2008)

    MARC 21 para recursos contínuos.

    No full text
    Tradução e adaptação de MARC 21 Format for Bibliographic Data e MARC 21 Format for Holdings Data, da Network Development and MARC Standards Office, da Library of Congress, USA, por Angela Salles

    Friends of the Greenwood Library Presents Marc Leepson

    No full text
    On Tuesday, September 11, 2012 the Friends of the Janet D. Greenwood Library hosted its fall event, which featured an evening with Marc Leepson. Leepson is a journalist, historian and the author of seven books, including Lafayette: Lessons in Leadership from the Idealist General (Palgrave/Macmillan, 2011), a concise biography of the famed Marquis de Lafayette

    Populism, populists, european democracies and European Union. The Italian case

    No full text
    In this chapter, the author starts by a necessary clarification of some notions as populism and fascism because there is a lot of confusion in the public debate but also a lot of academic controversies. The debate has been immediately re-launched in September 2022, after the victory at the general elections of Giorgia Meloni’s head of Brothers of Italy, a party who has a neo-fascist legacy, and after her nomination as chief of the Italian government. Marc Lazar concludes this first part of the chapter by giving what he calls an operative definition of populism, populist and fascism. In a second part, the author analyses Meloni’s party Brothers of Italy and proposes a characterisation of this party which is evolving. In a third part of the chapter, Marc Lazar reflects on what does Meloni and her party on Italian democracy and on the European Union but also what the Italian democracy and the European Union do to Meloni and Brothers of Italy. For the author, the Italian democracy and the European Union demonstrate a high capacity of resilience to the populist challenge and a propension of acculturation of the populists’ leader and party. He concludes pointing out that is a working progress, the end of which is unknown
    corecore