精华内容
参与话题
问答
  • Compilation

    2020-12-09 11:23:00
    <div><p>It would be neat if it was possible to trigger compilation from IntelliJ Idea. I previously used an external-tools for this purpose, but this proved next to impossible on Mac.</p><p>该提问来源...
  • Deterministic compilation

    2020-12-05 23:11:56
    <div><p>Does intend to implement deterministic compilation for binaries? <p>It's important for to produce accurate and consistent output and I feel it'll benefit to begin implementing ...
  • Compilation locks

    2021-01-01 05:56:31
    <p>The first worker to get there will go right on, the others will wait till the first workers reaches <code>end_compilation</code> after which the rest can go.</p><p>该提问来源于开源项目:...
  • Compilation peformance

    2020-12-27 13:55:50
    m currently using Buildalyzer to generate an adhocworkspace and noticing that the initial compilation takes almost 40 seconds. The second run afterwards takes about 8 seconds, having done a bit of ...
  • Cross compilation

    2021-01-08 01:04:39
    <div><p>This patchset makes the cross compilation work properly. It adds: - the concept of build, host and target - full canadian cross support - target-only builds that use the host compilers (for ...
  • Arm compilation

    2020-12-04 13:19:12
    - Compilation on ARM64 platforms - Assembly optimizations for SIDH key exchange algorithms from official SIDH 2.0 library - Configure wrapper script for Android cross-compilation <p>Sponsored by ...
  • Sandboxed compilation

    2020-12-26 02:36:48
    <div><p>Compilation should be sandboxes. I have heard of a few loopholes during the last contest: some compilers allow code execution at compile time. <p>jmcarthur has successfully proven this with ...
  • Compilation error

    2020-12-01 22:23:54
    <div><p>Sorry to bug you about a compilation error here, but I couldn't see a mailing list to ask on. I'm getting the following in ElementaryOS. Any ideas? <pre><code> [translation:ERROR] ...
  • Selective compilation

    2020-12-09 04:12:04
    <p>where I want to launch Gwt compilation in the client and share packages ONLY and javac compile for the server package. How do I tell this plugin to ignore changes in the server package (or at least...
  • Compilation Error

    2020-12-04 12:43:49
    <p>Getting compilation error while installing VHostScan <p><code>pandas/lib.c:4:10: fatal error: Python.h: No such file or directory #include "Python.h" ^~~~~~~~~~ compilation terminated. ...
  • Compilation problems

    2020-11-26 02:56:58
    - Compilation became really slow, previously instantaneous on ctrl+s, now can easily take 20/30s first time and never end afterwards. - Even with a compilation of the project (ctrl+shift+b...
  • Fix compilation

    2020-12-26 07:36:25
    <div><p>Compilation is broken on nightly</p><p>该提问来源于开源项目:rust-lang/rust-semverver</p></div>
  • Parallel Compilation

    2020-12-02 01:40:45
    <div><p>This enables parallel compilation in the Travis CI build.</p><p>该提问来源于开源项目:libdynd/libdynd</p></div>
  • Static compilation

    2021-01-08 06:39:27
    <div><p>It would be nice to have a static compilation under linux without cross compiling..</p><p>该提问来源于开源项目:tsl0922/ttyd</p></div>
  • Incremental compilation

    2020-12-09 12:15:38
    <div><p>Hi how can we make the plugin do an incremental compilation?</p><p>该提问来源于开源项目:tbroyer/gwt-maven-plugin</p></div>
  • Compilation warnings

    2020-12-26 02:59:36
    <div><p>Fixed compilation warnings (seen in Android Studio) due to: - returning const bool - unused named function params</p><p>该提问来源于开源项目:tangrams/tangram-es</p></div>
  • C11 compilation

    2020-11-24 15:08:08
    <div><p>This PR fixes compilation with gcc with -std=c11 option. Tested on Ubuntu 16.10.</p><p>该提问来源于开源项目:OSGeo/PROJ</p></div>
  • Compilation Question

    2020-12-04 11:43:25
    <div><p>I tried to compile the source code, but when the compilation completed, the target minizip was not generated. <p>How to solve this problem?</p><p>该提问来源于开源项目:nmoinvaz/minizip...
  • MacPorts compilation

    2020-12-05 09:24:52
    <div><p>, sorry, I undid some of your CMake changes, and added a more general approach ...Can you please try if this compilation works for you?</p><p>该提问来源于开源项目:elfmz/far2l</p></div>
  • cross compilation

    2020-12-09 10:26:14
    s not an issue but was wondering if anybody has had success doing cross compilation, host x86_64 (jessie) target beagle?</p><p>该提问来源于开源项目:jackmitch/libsoc</p></div>
  • <div><p>Compilation scroll behavior seems to randomly break. After a cold start it respects (setq compilation-scroll-output nil)</code> but then after some random event which I can't yet trace, ...
  • Error:java: Compilation failed: internal java compiler error 错误原因 导致这个错误的原因主要是因为jdk版本问题,此处有两个原因,一个是编译版本不匹配,一个是当前项目jdk版本不支持。 查看项目的jdk...

    错误现象

    使用Idea导入新项目或升级idea或新建项目时会出现以下异常信息:

    Error:java: Compilation failed: internal java compiler error 

    这里写图片描述

    错误原因

    导致这个错误的原因主要是因为jdk版本问题,此处有两个原因,一个是编译版本不匹配,一个是当前项目jdk版本不支持。

    查看项目的jdk

    File ->Project Structure->Project Settings ->Project或使用快捷键Ctrl+Alt+shift+S打开项目的jdk配置:
    这里写图片描述
    查看此两处是否与目标jdk一致。

    查看工程的jdk

    点击上图中Modules查看对应jdk版本:
    这里写图片描述

    查看java编译器版本

    这里写图片描述
    导入java项目时此处处问题的概率比较多。

    针对此问题,重新打开或修改pom文件(maven项目)中的内容很可能导致jdk版本重新变为1.5。如果是maven项目,可在pom文件中指定jdk相关信息:

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    原文链接:https://www.choupangxia.com/topic/detail/68

    关注微信公众

    更多技术、架构、管理等知识分享,请关注微信公众号:程序新视界(ID:ershixiong_see_world)
    程序新视界

    展开全文
  • <div><p>We tried to upgrade <code>ember-cli-typescript</code> in our app from <code>1.0.6</code> to <code>1.1.1, excited to try out incremental compilation. However, we discovered it actually broke ...
  • CompilationUnit

    2019-09-14 15:52:15
    在一个从Java源码编译到JVM字节码的编译器(如javac、ECJ)里,一个“编译单元”(CompilationUnit)指的是一个Java源文件。而在Dalvik VM的JIT里也有一个结构体名为“CompilationUnit”,这个千万不能...

    dalvik还是要显得与众不同。

    在一个从Java源码编译到JVM字节码的编译器(如javac、ECJ)里,一个“编译单元”(CompilationUnit)指的是一个Java源文件。而在Dalvik VM的JIT里也有一个结构体名为“CompilationUnit”,这个千万不能跟Java源码级的编译单元弄混了——它在这里指的就是一个“trace”。

    http://hllvm.group.iteye.com/group/topic/17798

    万能的WIKI是这么说的:

    http://en.wikipedia.org/wiki/Single_Compilation_Unit

    看起来WIKI的解释和java JVM的定义差不多。

    在源代码里,它是这么定义的:


    typedef struct CompilationUnit {
        int numInsts;
        int numBlocks;
        GrowableList blockList;
        const Method *method;
    #ifdef ARCH_IA32
        int exceptionBlockId;               // the block corresponding to exception handling
    #endif
        const JitTraceDescription *traceDesc;
        LIR *firstLIRInsn;
        LIR *lastLIRInsn;
        LIR *literalList;                   // Constants
        LIR *classPointerList;              // Relocatable
        int numClassPointers;
        LIR *chainCellOffsetLIR;
        GrowableList pcReconstructionList;
        int headerSize;                     // bytes before the first code ptr
        int dataOffset;                     // starting offset of literal pool
        int totalSize;                      // header + code size
        AssemblerStatus assemblerStatus;    // Success or fix and retry
        int assemblerRetries;               // How many times tried to fix assembly
        unsigned char *codeBuffer;
        void *baseAddr;
        bool printMe;
        bool allSingleStep;
        bool hasClassLiterals;              // Contains class ptrs used as literals
        bool hasLoop;                       // Contains a loop
        bool hasInvoke;                     // Contains an invoke instruction
        bool heapMemOp;                     // Mark mem ops for self verification
        bool usesLinkRegister;              // For self-verification only
        int profileCodeSize;                // Size of the profile prefix in bytes
        int numChainingCells[kChainingCellGap];
        LIR *firstChainingLIR[kChainingCellGap];
        LIR *chainingCellBottom;
        struct RegisterPool *regPool;
        int optRound;                       // round number to tell an LIR's age
        jmp_buf *bailPtr;
        JitInstructionSetType instructionSet;
        /* Number of total regs used in the whole cUnit after SSA transformation */
        int numSSARegs;
        /* Map SSA reg i to the Dalvik[15..0]/Sub[31..16] pair. */
        GrowableList *ssaToDalvikMap;
    
        /* The following are new data structures to support SSA representations */
        /* Map original Dalvik reg i to the SSA[15..0]/Sub[31..16] pair */
        int *dalvikToSSAMap;                // length == method->registersSize
        BitVector *isConstantV;             // length == numSSAReg
        int *constantValues;                // length == numSSAReg
    
        /* Data structure for loop analysis and optimizations */
        struct LoopAnalysis *loopAnalysis;
    
        /* Map SSA names to location */
        RegLocation *regLocation;
        int sequenceNumber;
    
        /*
         * Set to the Dalvik PC of the switch instruction if it has more than
         * MAX_CHAINED_SWITCH_CASES cases.
         */
        const u2 *switchOverflowPad;
    
        JitMode jitMode;
        int numReachableBlocks;
        int numDalvikRegisters;             // method->registersSize + inlined
        BasicBlock *entryBlock;
        BasicBlock *exitBlock;
        BasicBlock *puntBlock;              // punting to interp for exceptions
        BasicBlock *backChainBlock;         // for loop-trace
        BasicBlock *curBlock;
        BasicBlock *nextCodegenBlock;       // for extended trace codegen
        GrowableList dfsOrder;
        GrowableList domPostOrderTraversal;
        BitVector *tryBlockAddr;
        BitVector **defBlockMatrix;         // numDalvikRegister x numBlocks
        BitVector *tempBlockV;
        BitVector *tempDalvikRegisterV;
        BitVector *tempSSARegisterV;        // numSSARegs
        bool printSSANames;
        void *blockLabelList;
        bool quitLoopMode;                  // cold path/complex bytecode
    } CompilationUnit;
    不得不说,这个数据结构实在是太大了,这样真的好维护吗?


    但对于程序来说,它复杂度和它重要性一般是成正比的。

    CU是一个贯穿整个程序的结构体,一个trace包含的几乎所有信息,都被CU整合了在一次,这也是因此为何CU如此复杂和臃肿的原因。

    你若想了解一个软件的执行思路,必须的吃透它最主要的数据结构,以及它的组织方式。因为数据结构的组织方式,决定了软件该如何处理它。例如,使用了大量指针的数据结构,很明显是必须要使用动态链表来保存数据的。而之所以使用了大量的动态链表,是因为数据结构要描述的对象大小的不确定性。例如对于dalvik来说,trace的长度不一定,你不能假定它是64K或者是128K。静态减少了复杂度,但是对于不规则的对象却无法处理;动态引入了弹性,但是必然会引入复杂度。

    从结构体开头就可以看到,”const Method *method;“。这是一个指针,那么对于一个CU来说,是必须要对应一个method,但是一个method可能包含了几个CU.

    比较重要的还有,这是整个CU的入口,出口对应的LIR:

    LIR *firstLIRInsn;
        LIR *lastLIRInsn;
        LIR *literalList;                   // Constants
        LIR *classPointerList;              // Relocatable

    当CU被编译成为LIR的时候,LIR是保存成为链表形式的。

    除此之外,CU还会包含大量的BB,整个CU的入口,出口等。

    BasicBlock *entryBlock;
        BasicBlock *exitBlock;
        BasicBlock *puntBlock;              // punting to interp for exceptions
        BasicBlock *backChainBlock;         // for loop-trace
        BasicBlock *curBlock;
        BasicBlock *nextCodegenBlock;       // for extended trace codegen

    之前所说过,BB是只有一个IN/OUT的branch,它自然也包含了MIR。因此,BB,MIR,LIR在CU这里,一家都齐全了。


    转载于:https://my.oschina.net/rinehart/blog/176362

    展开全文
  • PPC Compilation Fixes

    2020-11-29 16:06:51
    <div><p>This PR fixes compilation issues for PowerPC platforms for the Synocommunity spksrc cross-compilation framework. <p>Three kind of problems have been identified and are tackled in separate ...
  • Incremental compilation RFC

    2021-01-08 21:00:41
    <div><p>High-level strategy for incremental compilation. <p>cc -lang/compiler <p><a href=...
  • <div><p>We currently have two code paths: one for synchronous compilation and one for asynchronous compilation. Since we learned that synchronous compilation can seriously slow down your build speed, ...
  • Long MariaDB compilation

    2020-12-01 14:18:25
    <div><p>I am observing two packages compilation takes about 1 hour on <code>c3.large</code> machines: <pre><code> 11:54:47 | Compiling packages: mariadb/563c214c66c68a3558312fee44c22c30085a663a (00:25...
  • Abolish compilation server

    2020-12-06 17:37:26
    <div><p>This PR removes the compilation server. The move is justified by the following reasons. - there seem to be some issues related to compilation server (see #308 #317) - compilation server adds ...

空空如也

1 2 3 4 5 ... 20
收藏数 50,705
精华内容 20,282
关键字:

compilation