The compiler first performs a linear scan of the bytecodes to record s การแปล - The compiler first performs a linear scan of the bytecodes to record s ไทย วิธีการพูด

The compiler first performs a linea

The compiler first performs a linear scan of the bytecodes to record stack and variable information for use in later stages. This is followed by a global register allocation, code generation, code emission, and code patching pass. The compiler uses two alternative schemes for global register allocation. The first scheme allocates the 4 callee-saved registers to the variables with the highest static reference counts for the duration of the method. The second scheme iterates through all of the variables in order of decreasing static reference counts, allocating a register to a variable if the register is available in all of the basic blocks that the variable is referenced.
CSE is implemented by matching nonoverlapping subsequences in expressions. Basic blocks are represented as a string of bytes where common subexpressions are detected as duplicate substrings in the string. Any two matched substrings of less than sixteen bytecodes is considered as a candidate for elimination. If the value calculated during the first expression instance is still available during the second instance of the expression, the previous value is reused and the duplicate expression is eliminated. In this scheme, transitivity of expressions is not considered. Therefore, the expression “xCy” would not match with “yCx.”
Unnecessary array bounds checks are detected by keeping track of the maximum constant array index that is bounds checked and eliminating index bound checks for constant values less than the maximum constant array index check. For example, if array location 10 is accessed before location 5, the bounds check for array location 5 is eliminated. This optimization is useful during array initialization since the array creation size is considered a successful bounds check of the highest array index. This eliminates bound checks for any initialization of array values using constant array indices. However, elimination of bounds checks does not apply to variables nor does it extend beyond the scope of a basic block.
Code for handling thrown exceptions is moved to the end of the generated code for a method. By placing exception handling code at the end of the method, the static branch predictor on Pentium processors will predict the branches to be not taken and the exception handling code is less likely to be loaded into a cache line. Since exceptions do not occur frequently, this is well-suited for the common case execution.
The Open JIT project [Matsuoka et al. 1998] is a reflective JIT compiler written in Java. The compiler is reflective in the sense that it contains a set of selfdescriptive modules that allow a user program to examine the internal state of the compiler’s compilation and modify the state through a compiler-supplied interface. This interface allows user programs to perform program-specific optimizations by defining program-specific semantics. For instance, defining properties of commutivity and transitivity for a user object provides the compiler with more information to perform useful optimizations.
The open-source Kaffe project provides a JIT compiler for the Kaffe JVM that supports various operating systems on the x86, Sparc, M68k, MIPS, Alpha, and PARisc architectures [Wilkinson, Kaffe v0.10.0]. The Kaffe JIT compiler uses a machine-independent front-end that converts bytecodes to an intermediate representation called the KaffeIR. The KaffeIR is then translated using a set of macros which define how KaffeIR instructions map to native code.
The AJIT compilation systemgenerates annotations in bytecode files to aid the JIT compilation [Azevedo et al. 1999]. A Java to bytecode compiler generates annotations that are stored as additional code attributes in generated class files to maintain compatibility with existing JVMs. These annotations carry compiler optimization-related information that allow the JIT compiler to generate optimized native code without extensive runtime analysis. An example of a generated attribute in the AJIT system is the mapping of variables to an infinite virtual register set. This virtual register allocation (VRA) annotation is used by an annotation-reading JIT compiler to speed up register allocation and to identify unnecessary duplication of stack variables.
CACAOis a stand-alone JIT compiler for the DEC ALPHA architecture [Krall and Grafl 1997]. The CACAO compiler translates bytecodes to an intermediate representation, performs register allocation, and replaces constant operands on the stack with immediate instruction operands.
Fajita[FAJITA] is a variation of a JIT compiler that runs as a Java compilation server on a network, independent of the Java runtime. The server compiles Java bytecode as a pass-through proxy server, allowing class compilation to be cached and shared among different programs and machines. Since the lifetime of compiled code in this environment is generally much longer than a standard JIT, this compiler has more time to perform advanced optimizations.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
คอมไพเลอร์เป็นครั้งแรกที่จะดำเนินการสแกนเชิงเส้นของ bytecodes เพื่อบัน​​ทึกกองและข้อมูลตัวแปรสำหรับใช้ในขั้นตอนต่อมา นี้จะตามด้วยการจัดสรรทั่วโลกลงทะเบียนสร้างรหัสปล่อยรหัสและรหัสผ่านปะ คอมไพเลอร์ใช้สองรูปแบบทางเลือกสำหรับการจัดสรรลงทะเบียนทั่วโลกโครงการแรกจัดสรร 4 ลงทะเบียน callee บันทึกตัวแปรสูงสุดนับอ้างอิงคงที่ตลอดระยะเวลาของวิธีการที่ โครงการที่สอง iterates ผ่านทั้งหมดของตัวแปรในการลดจำนวนการอ้างอิงแบบคงที่จัดสรรลงทะเบียนให้กับตัวแปรถ้าลงทะเบียนสามารถใช้ได้ในทุกของบล็อกพื้นฐานที่ตัวแปรอ้างอิง.
CSE จะดำเนินการโดยการจับคู่ subsequences nonoverlapping ในนิพจน์ บล็อกขั้นพื้นฐานจะแสดงเป็นสตริงของไบต์ที่ subexpressions ทั่วไปจะถูกตรวจพบว่าเป็นสตริงย่อยที่ซ้ำกันในสาย สองสตริงย่อยจับคู่น้อยกว่าสิบหก bytecodes ถือเป็นผู้สมัครสำหรับการกำจัดถ้าค่าที่คำนวณได้ในระหว่างการแสดงออกเช่นครั้งแรกที่ยังคงมีอยู่ในช่วงที่สองของการแสดงออกของมีค่าก่อนหน้านี้จะนำมาใช้ใหม่และการแสดงออกที่ซ้ำกันจะถูกกำจัด ในโครงการนี​​้กริยาของการแสดงออกจะไม่ถือว่าเป็น ดังนั้นการแสดงออก "xcy" จะไม่ตรงกับด้วย "ycx."
การตรวจสอบขอบเขตอาร์เรย์ที่ไม่จำเป็นจะถูกตรวจพบโดยการติดตามดัชนีสูงสุดที่ค่าคงที่อาร์เรย์ที่มีขอบเขตการตรวจสอบและการกำจัดการตรวจสอบดัชนีผูกพันสำหรับค่าคงที่น้อยกว่าการตรวจสอบดัชนีแถวสูงสุดอย่างต่อเนื่อง ตัวอย่างเช่นถ้าสถานอาร์เรย์ 10 ก่อนที่จะมีการเข้าถึงสถานที่ 5 ขอบเขตการตรวจสอบสำหรับสถานที่ตั้งแถว 5 จะถูกกำจัดเพิ่มประสิทธิภาพนี้จะเป็นประโยชน์ในระหว่างการเริ่มต้นอาร์เรย์ขนาดตั้งแต่การสร้างอาเรย์ถือเป็นขอบเขตการตรวจสอบที่ประสบความสำเร็จของดัชนีอาร์เรย์สูงสุด นี้จะช่วยลดการตรวจสอบมุ่งหน้าเริ่มต้นของค่าอาเรย์โดยใช้ดัชนีค่าคงที่อาร์เรย์ แต่การกำจัดของการตรวจสอบขอบเขตไม่ได้นำไปใช้กับตัวแปรหรือไม่ก็ขยายเกินขอบเขตของการป้องกันขั้นพื้นฐาน.
สำหรับการจัดการข้อยกเว้นโยนถูกย้ายไปยังจุดสิ้นสุดของรหัสที่สร้างขึ้นสำหรับวิธีการ โดยการวางรหัสการจัดการข้อยกเว้นที่ส่วนท้ายของวิธีการทำนายสาขาคงที่ในการประมวลผล Pentium จะทำนายสาขาที่จะไม่ดำเนินการและการจัดการรหัสข้อยกเว้นเป็นโอกาสน้อยที่จะโหลดลงในเส้นแคช ตั้งแต่ข้อยกเว้นไม่ได้เกิดขึ้นบ่อยนี้เป็นอย่างดีเหมาะสำหรับการดำเนินการกรณีที่พบ.
โครงการ JIT เปิด [Matsuoka ตอัล 1998] เป็นคอมไพเลอร์ JIT สะท้อนแสงเขียนใน java คอมไพเลอร์จะสะท้อนในแง่ที่ว่ามันมีชุดของโมดูล selfdescriptive ที่ช่วยให้ผู้ใช้โปรแกรมในการตรวจสอบภายในของรัฐรวบรวมเรียบเรียงและแก้ไขรัฐผ่านอินเตอร์เฟซคอมไพเลอร์จัดอินเตอร์เฟซนี้จะช่วยให้ผู้ใช้โปรแกรมในการดำเนินการเพิ่มประสิทธิภาพโปรแกรมเฉพาะด้วยการกำหนดความหมายของโปรแกรมเฉพาะ ตัวอย่างเช่นการกำหนดคุณสมบัติของ commutivity และกริยาสำหรับวัตถุที่ผู้ใช้คอมไพเลอร์ให้มีข้อมูลเพิ่มเติมที่จะดำเนินการเพิ่มประสิทธิภาพที่มีประโยชน์
.Kaffe โครงการโอเพนซอร์สให้คอมไพเลอร์ JIT สำหรับ JVM Kaffe ที่รองรับระบบปฏิบัติการต่างๆบน x86, SPARC สถาปัตยกรรม m68k, mips, อัลฟาและ parisc [วิลกินสัน Kaffe v0.10.0] คอมไพเลอร์ Kaffe JIT ใช้เครื่องที่เป็นอิสระ front-end ที่แปลง bytecodes ที่จะเป็นตัวแทนกลางที่เรียกว่า kaffeirkaffeir ได้รับการแปลแล้วใช้ชุดของแมโครที่กำหนดวิธีการคำแนะนำ kaffeir แผนที่รหัสพื้นเมือง.
รวบรวม Ajit systemgenerates บันทึกย่อในแฟ้ม bytecode ที่จะช่วยให้การรวบรวม JIT [azevedo ตอัล 1999] จาวาเพื่อ bytecode คอมไพเลอร์จะสร้างคำอธิบายประกอบที่จะถูกเก็บไว้เป็นรหัสเพิ่มเติมคุณสมบัติในไฟล์คลาสที่สร้างขึ้นเพื่อรักษาความเข้ากันได้กับ JVMs ที่มีอยู่บันทึกย่อเหล่านี้นำข้อมูลที่เกี่ยวข้องกับการเพิ่มประสิทธิภาพของคอมไพเลอร์ที่ช่วยให้คอมไพเลอร์ JIT เพื่อสร้างรหัสพื้นเมืองการเพิ่มประสิทธิภาพโดยไม่ต้องวิเคราะห์ runtime กว้างขวาง ตัวอย่างของคุณลักษณะที่สร้างขึ้นในระบบ Ajit คือการทำแผนที่ของตัวแปรที่จะกำหนดลงทะเบียนเสมือนไม่มีที่สิ้นสุดนี้การจัดสรรลงทะเบียนเสมือน (VRA) บันทึกย่อถูกใช้โดย JIT คอมไพเลอร์อ่านคำอธิบายประกอบเพื่อเพิ่มความเร็วในการจัดสรรการลงทะเบียนและระบุความซ้ำซ้อนที่ไม่จำเป็นของตัวแปรสแต็ค.
cacaois สแตนด์อะโลน JIT คอมไพเลอร์สำหรับอัลฟาสถาปัตยกรรมธันวาคม [krall และGräfl 1997] . คอมไพเลอร์โกโก้แปล bytecodes ที่จะเป็นตัวแทนของกลางดำเนินการลงทะเบียนการจัดสรรและแทนที่ตัวถูกดำเนินการอย่างต่อเนื่องในกองด้วยตัวถูกดำเนินการเรียนการสอนได้ทันที.
Fajita [Fajita] เป็นรูปแบบของคอมไพเลอร์ JIT ที่ทำงานเป็นเซิร์ฟเวอร์รวบรวม java บนเครือข่ายที่เป็นอิสระจาก runtime java เซิร์ฟเวอร์รวบรวม java bytecode เป็นร็อกซี่เซิร์ฟเวอร์ส่งผ่านเพื่อให้สามารถสะสมชั้นเรียนเพื่อจะเก็บไว้และใช้ร่วมกันระหว่างโปรแกรมที่แตกต่างกันและเครื่องเนื่องจากอายุการใช้งานของรหัสรวบรวมในสภาพแวดล้อมเช่นนี้โดยทั่วไปนานกว่ามาตรฐาน JIT คอมไพเลอร์นี้มีเวลามากขึ้นในการดำเนินการเพิ่มประสิทธิภาพขั้นสูง
.
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
คอมไพเลอร์ทำการสแกนแบบเชิงเส้นของ bytecodes กองระเบียนและข้อมูลต่าง ๆ สำหรับใช้ในขั้นตอนต่อไปก่อน นี้คือตามทะเบียนสากลการปันส่วน การสร้างรหัส รหัสมลพิษ และรหัสผ่านปรับปรุง คอมไพเลอร์ใช้แผนสองสำรองสำหรับการปันส่วนการทะเบียนทั่วโลก ร่างแรกจัดสรรทะเบียนบันทึกผู้ถูกเรียกที่ 4 ให้ตัวแปรมีจำนวนอ้างอิงคงที่สูงสุดในระยะเวลาวิธีการ โครงร่างที่สองคำนวณซ้ำทั้งหมดของตัวแปรในใบสั่งของลดอ้างอิงคงนับ ปันส่วนกับตัวแปรการลงทะเบียนถ้าลงทะเบียนในบล็อกพื้นฐานที่มีการอ้างอิงตัวแปร
CSE จะดำเนินการ โดยตรง subsequences ขนานในนิพจน์ บล็อกพื้นฐานจะแสดงเป็นสายอักขระของไบต์ที่ subexpressions ทั่วไปตรวจซ้ำ substrings ในสายอักขระ Substrings จับคู่ใด ๆ สองของ bytecodes สิบหกน้อยกว่าถือว่าเป็นตัดออก ถ้าค่าที่คำนวณในระหว่างการ อินสแตนซ์นิพจน์แรกเป็นยังคงมีอยู่ในอินสแตนซ์ที่สองของนิพจน์ นำกลับมาใช้ค่าก่อนหน้านี้ และตัดนิพจน์ซ้ำ ในโครงร่างนี้ ไม่มีพิจารณา transitivity ของนิพจน์ ดังนั้น นิพจน์ "xCy" จะตรงกับ "yCx"
ตรวจสอบขอบเขตอาร์เรย์ไม่จำเป็นจะตรวจพบ โดยติดตามดัชนีแถวลำดับคงสูงสุดที่เป็นขอบเขตการตรวจสอบ และดัชนีตัดผูกตรวจสอบค่าคงน้อยกว่าการตรวจสอบดัชนีอาร์เรย์คงสูงสุด ตัวอย่าง ถ้าเข้าถึงอาร์เรย์ตำแหน่ง 10 ก่อนตั้ง 5 ตรวจสอบขอบเขตของอาร์เรย์ตำแหน่ง 5 ตัด เพิ่มประสิทธิภาพนี้จะเป็นประโยชน์ในช่วงเริ่มต้นของอาร์เรย์ตั้งแต่ขนาดสร้างอาร์เรย์ถือเป็นการตรวจสอบขอบเขตที่ประสบความสำเร็จดัชนีแถวลำดับสูงสุด นี้เอาเช็คถูกผูกไว้สำหรับการเริ่มต้นค่าอาร์เรย์โดยใช้ดัชนีแถวลำดับคงใด ๆ อย่างไรก็ตาม กำจัดขอบเขตตรวจสอบไม่สามารถใช้กับตัวแปร หรือไม่ก็ขยายเกินขอบเขตของบล็อกพื้นฐาน
รหัสสำหรับการจัดการข้อยกเว้น thrown ถูกย้ายไปตามรหัสที่สร้างขึ้นสำหรับวิธีการ ด้วยข้อยกเว้นการจัดการรหัสท้ายของวิธีการ จำนวนประตูสาขาถาวรบนตัวประมวลผล Pentium จะทำนายสาขาที่จะใช้ และรหัสการจัดการข้อยกเว้นจะน้อยให้เส้นแค เนื่องจากข้อยกเว้นเกิดบ่อย สำหรับการพบกรณีการดำเนินการเป็น
จิตเปิดโครงการ [Matsuoka et al. 1998] เป็นคอมไพเลอร์ JIT สะท้อนแสงที่เขียนใน Java คอมไพเลอร์จะสะท้อนในแง่ที่ว่า มันประกอบด้วยชุดของโมดูล selfdescriptive ที่อนุญาตให้ผู้ใช้โปรแกรมตรวจสอบสถานะของการคอมไพล์ของคอมไพเลอร์ภายใน และปรับเปลี่ยนสถานะผ่านอินเทอร์เฟซให้คอมไพเลอร์ อินเทอร์เฟซนี้ช่วยให้ผู้ใช้โปรแกรมการเพิ่มประสิทธิภาพโปรแกรมเฉพาะ โดยการกำหนดความหมายเฉพาะของโปรแกรม ตัวอย่าง การกำหนดคุณสมบัติของ commutivity และ transitivity สำหรับวัตถุผู้ใช้ให้คอมไพเลอร์ข้อมูลการเพิ่มประสิทธิภาพประโยชน์
โครงการ Kaffe ซอร์สให้คอมไพเลอร์ JIT สำหรับ JVM Kaffe ที่สนับสนุนระบบปฏิบัติการต่าง ๆ บน x 86, Sparc, M68k, MIPS อัลฟา และ PARisc สถาปัตยกรรม[ดาวเทียมสำรวจคลื่น Kaffe v0.10.0] คอมไพเลอร์ Kaffe JIT ใช้เป็นเครื่องอิสระเวอร์ที่แปลง bytecodes แสดงตัวกลางเรียกว่า KaffeIR KaffeIR ถูกแปลโดยใช้ชุดของแมโครซึ่งกำหนดวิธีแนะนำ KaffeIR แม็ปกับรหัสภาษาแล้ว
AJIT คอมไพล์ systemgenerates คำในไฟล์ bytecode การคอมไพล์ JIT [Azevedo et al. 1999] ช่วย จาวาคอมไพเลอร์ bytecode การสร้างคำอธิบายที่ถูกจัดเก็บเป็นรหัสเพิ่มเติมแอตทริบิวต์ในแฟ้มคลาสที่สร้างขึ้นเพื่อรักษาความเข้ากันได้กับ JVMs ที่มีอยู่ คำอธิบายเหล่านี้ดำเนินการคอมไพเลอร์ปรับให้เหมาะสมข้อมูลที่อนุญาตให้คอมไพเลอร์ JIT เพื่อสร้างรหัสภาษาให้เหมาะ โดยวิเคราะห์การใช้งานจริงอย่างละเอียด ตัวอย่างของแอตทริบิวต์สร้างในระบบ AJIT เป็นชุดลงทะเบียนการแมปตัวแปรอนันต์เป็นเสมือน คำอธิบายนี้ทะเบียนเสมือนการปันส่วน (VRA) ใช้ โดยการอ่านคำอธิบาย JIT คอมไพเลอร์เร็วการปันส่วนลงทะเบียน และระบุซ้ำของกองแปร
CACAOis คอมไพเลอร์ JIT เป็นแบบสแตนด์อโลนสำหรับ DEC สถาปัตยกรรมอัลฟา [Krall และ Grafl 1997] คอมไพเลอร์ CACAO แปล bytecodes การแสดงระดับกลางการ ดำเนินการปันส่วนลงทะเบียน และแทนตัวถูกดำเนินการอย่างต่อเนื่องในกอง ด้วยตัวถูกดำเนินการคำสั่งทันที.
Fajita [FAJITA] เป็นรูปแบบของคอมไพเลอร์ JIT ที่เรียกใช้เป็นเซิร์ฟเวอร์จาวาคอมไพล์บนเครือข่าย อิสระของรันไทม์ Java เซิร์ฟเวอร์คอมไพล์ Java bytecode เป็นเซิร์ฟเวอร์พร็อกซีทรู ให้คอมไพล์คลาแค และใช้ร่วมกันระหว่างโปรแกรมต่าง ๆ และเครื่องจักร เนื่องจากอายุการใช้งานของรหัสที่คอมไพล์ในสภาพแวดล้อมนี้โดยทั่วไปจะนานกว่าจิตมาตรฐาน คอมไพเลอร์นี้มีเวลามากขึ้นการเพิ่มประสิทธิภาพขั้นสูง
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
คอมไพเลอร์เป็นครั้งแรกที่จะทำการสแกนตามแนวยาวของข้อมูล bytecodes ให้บันทึกและปรับเปลี่ยนได้สำหรับการใช้งานในขั้นตอนใน ภายหลัง โรงแรมแห่งนี้คือตามด้วยโดยหลักการจัดสรรลงทะเบียนรุ่นใหม่รหัสการปล่อยคลื่นแม่เหล็กไฟฟ้าและรหัสบัตรผ่านการแก้ไขรหัส คอมไพเลอร์จะใช้ทั้งสองโครงสร้างทางเลือกสำหรับการจัดสรรลงทะเบียนระดับโลกโครงการแรกที่จัดสรรไว้ 4 ผู้ถูกเรียกที่บันทึกในการเป็นตัวแปรสำคัญที่พร้อมด้วยนับถอยหลังการอ้างอิงแบบสแตติกสูงสุดสำหรับช่วงระยะเวลาของวิธีการที่ โครงการที่สอง iterates ผ่านตัวแปรในการสั่งซื้อของลดลงนับถอยหลังการอ้างอิงแบบสแตติกจัดสรรลงทะเบียนที่จะปรับได้หากลงทะเบียนที่มีอยู่ในช่วงตึกพื้นฐานทั้งหมดที่ผันแปรคืออ้างอิง.
ทั้งหมดcse ถูกนำไปใช้งานโดยตรงกับ subsequences nonoverlapping ในสำนวน ช่วงตึกขั้นพื้นฐานจะแสดงเป็นสตริงของไบต์ที่ subexpressions ทั่วไปจะตรวจพบเป็น substrings ที่ซ้ำกันในสตริง สอง substrings ตรงกันของน้อยกว่าสิบหก bytecodes ได้รับการพิจารณาให้เป็นผู้สมัครรับเลือกตั้งสำหรับการตัดหากค่าที่คำนวณได้ในระหว่างตัวอย่างเช่นการแสดงครั้งแรกจะยังสามารถใช้งานในระหว่างตัวอย่างเช่นที่สองของการแสดงออกที่ค่าก่อนหน้าที่จะนำกลับมาใช้ใหม่ได้และการแสดงออกที่ซ้ำกันจะช่วยลด ในโครงสร้างนี้ transitivity ของสำนวนไม่ได้รับการพิจารณาให้ ดังนั้นการแสดง" xcy "จะไม่ตรงกับ" ycx "
ตรวจสอบเขตความหลากหลายไม่จำเป็นต้องมีการตรวจพบโดยการติดตามดัชนีความหลากหลายอย่างต่อเนื่องสูงสุดที่ได้รับการตรวจสอบและการลดเขตตรวจสอบสำหรับค่าดัชนีอย่างต่อเนื่องไม่น้อยกว่าการตรวจสอบดัชนีความหลากหลายอย่างต่อเนื่องสูงสุด ตัวอย่างเช่นหากความหลากหลายที่ตั้งที่ 10 มีการเข้าถึงก่อนที่ตั้งที่ 5 ตรวจสอบนอกสนามได้สำหรับความหลากหลายที่ตั้งที่ 5 จะช่วยลดการปรับแต่ง ประสิทธิภาพ นี้จะมีประโยชน์ในระหว่างการเริ่มต้นความหลากหลายตั้งแต่ขนาดการสร้างความหลากหลายที่ได้รับการพิจารณาให้ตรวจสอบนอกสนามที่มีความหลากหลายของดัชนีสูงสุด โรงแรมแห่งนี้จะช่วยขจัดปัญหาเรื่องตรวจสอบสำหรับการเริ่มต้นทำงานใดๆของค่าความหลากหลายโดยใช้ดัชนีความหลากหลายอย่างต่อเนื่อง แต่ถึงอย่างไรก็ตามการตรวจสอบนอกสนามจะไม่มีผลบังคับใช้กับตัวแปรต่างๆและไม่ขยายเกินกว่าขอบเขตของช่วงตึกพื้นฐาน.
รหัสสำหรับการจัดการการสั่งซื้อสินค้าพิเศษโยนจะถูกย้ายไปยังส่วนท้ายของรหัสสร้างขึ้นสำหรับวิธีการที่ โดยการวางรหัสการจัดการกับความผิดปกติในช่วงปลายของวิธีการที่ตัวทำนายสาขาไฟฟ้าสถิตย์ที่อยู่บนโปรเซสเซอร์ Pentium จะคาดเดาสาขาที่จะไม่นำมาใช้และรหัสการจัดการกับความผิดปกติที่มีโอกาสในการได้รับการโหลดในบรรทัดแคชที่ เนื่องจากข้อยกเว้น( Don ’ t allow exceptions )จะไม่ได้เกิดขึ้นบ่อยครั้งโรงแรมแห่งนี้มีที่ตั้งที่ดีเหมาะสำหรับการประมวลผลทั่วไปกรณีที่.
เปิดด่านอีป้องโครงการ[ matsuoka et al . 1998 ]เป็นคอมไพเลอร์ด่านอีป้องสะท้อนแสงที่ได้เขียนไว้ในเกาะชวา คอมไพเลอร์ที่จะสะท้อนแสงในความรู้สึกที่ประกอบไปด้วยชุดของโมดูล selfdescriptive ที่อนุญาตให้ผู้ใช้โปรแกรมที่จะทำการตรวจสอบสถานะ ภายใน ของรวบรวมของคอมไพเลอร์และแก้ไขรัฐผ่านทางอินเตอร์เฟซคอมไพเลอร์ - ให้มาที่อินเทอร์เฟซนี้ช่วยให้ผู้ใช้โปรแกรมในการได้รับการปรับแต่งเฉพาะของโปรแกรมโดยการกำหนดความเปลี่ยนแปลงในความหมายของคำเฉพาะของโปรแกรม ตัวอย่างเช่นการกำหนดคุณสมบัติของ transitivity และ commutivity ของออบเจกต์ผู้ใช้ที่จัดให้บริการเช่นคอมไพเลอร์ที่พร้อมด้วยข้อมูลที่มากยิ่งขึ้นเพื่อทำประโยชน์ได้รับการปรับแต่ง.
โครงการ kaffe แบบเปิดโล่งที่จัดให้บริการเช่นคอมไพเลอร์ด่านอีป้องสำหรับ kaffe ของ Sun JVM แล้ว Control Panel ที่สนับสนุนระบบปฏิบัติการที่หลากหลายบน X 86 ที่ SPARC ไปสู่ม. 68 K mips อัลฟาและสถาปัตยกรรม parisc [วิลคินสัน kaffe v0. 10.0 ] kaffe ด่านอีป้องคอมไพเลอร์จะใช้เครื่อง - อิสระทางด้านหน้าที่จะแปลง bytecodes เพื่อเป็นตัวแทนระดับกลางที่เรียกว่า kaffeir ได้ที่ kaffeir จากนั้นจะมีการแปลที่ตั้งค่าในแมโครซึ่งกำหนดว่า kaffeir คำแนะนำแผนที่เพื่อสร้างรหัส.
ที่รวบรวม ajit systemgenerates มีหมายเหตุประกอบแบบใน bytecode ไฟล์เพื่อช่วยให้ด่านอีป้องรวบรวม[ azevedo et al . 1999 ] Java กับคอมไพเลอร์ bytecode สร้างขึ้นมีหมายเหตุประกอบแบบที่จะถูกจัดเก็บเป็นแอตทริบิวต์รหัสเพิ่มเติมในไฟล์ Class สร้างขึ้นเพื่อรักษาความเข้ากันได้กับ jvms. ที่มีอยู่มีหมายเหตุประกอบแบบนี้มีข้อมูลในการปรับแต่ง - ที่เกี่ยวข้องคอมไพเลอร์ที่อนุญาตให้คอมไพเลอร์ด่านอีป้องที่จะสร้างรหัสเดิมที่ปรับแต่งไม่มีการวิเคราะห์แอพพลิเคชันที่หลากหลาย ตัวอย่างของแอตทริบิวต์ที่สร้างขึ้นในระบบ ajit ที่มีแผนที่ของตัวแปรในการลงทะเบียนแบบเสมือนจริงแบบไม่มีขอบเขตที่ตั้งค่าโรงแรมแห่งนี้เสมือนลงทะเบียนการจัดสรร( vra )คำอธิบายประกอบจะถูกนำไปใช้โดยที่คำอธิบายประกอบ - การอ่านด่านอีป้องคอมไพเลอร์เพื่อเพิ่มความเร็วลงทะเบียนการจัดสรรและเพื่อระบุไม่จำเป็นต้องทำซ้ำของสแต็กตัวแปร.
cacaois Stand - alone ด่านอีป้องคอมไพเลอร์สำหรับตัวอักษรและสถาปัตยกรรมที่ธ.ค.และ[ krall grafl 1997 ] คอมไพเลอร์ที่แปลงต้นโกโก้ bytecodes เพื่อเป็นตัวแทนระดับกลางที่จะทำการลงทะเบียนการจัดสรรและจะถูกนำมาใช้แทนตัวดำเนินการอย่างต่อเนื่องที่กองที่พร้อมด้วยการสอนในทันทีตัวดำเนินการ.
fajita [ fajita ]เป็นการดัดแปลงมาจากด่านอีป้องคอมไพเลอร์ที่วิ่งให้บริการเป็นเซิร์ฟเวอร์รวบรวม Java บนเครือข่ายที่ใช้งานอย่างเป็นอิสระของ Java . เซิร์ฟเวอร์ที่รวบรวม bytecode Java เป็นเซิร์ฟเวอร์พร็อกซีส่งผ่านที่จะช่วยให้รวบรวม class เพื่อรับการแคชข้อมูลได้เท่าใดและเครื่องใช้ร่วมกันและโปรแกรมที่แตกต่างกันเนื่องจากอายุการใช้งานของรหัสคอมไพล์ใน สภาพแวดล้อม นี้โดยทั่วไปแล้วจะยาวกว่าด่านอีป้องมาตรฐานที่คอมไพเลอร์แห่งนี้มีเวลามากขึ้นในการทำการปรับแต่งขั้นสูง.
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: