Abstract:
PROBLEM TO BE SOLVED: To provide a mechanism for producing a program of high execution efficiency without lowering productivity of the program.SOLUTION: There is provided a method of optimizing processing on character strings in program execution using characteristic information representing characteristics of the character strings made to correspond to the character strings in a computer system which executes a program including processing on character strings. The method includes the steps of: determining characteristic information on at least one character string of a first character string and a second character string as a result of arithmetic processing based on characteristics as to the first character string and the arithmetic processing the relating to the first character string; and making the determined characteristic information correspond to the at least one character string. The present invention relates to the computer system that executes the program including the processing on the character strings and optimizes the processing on the character strings in the program execution using the characteristic information, and the computer program.
Abstract:
PROBLEM TO BE SOLVED: To provide a method for automatically specifying a point in advance wherein a problem of performance degradation due to lock collision may occur, and for automatically modifying the point. SOLUTION: A program code that performs access to a class for performing synchronization by a lock is automatically converted into a program code that performs access to a class capable of moving in parallel, in which the interval where the lock is obtained is shorter than the class for performing the synchronization by the lock. Moreover, in the conversion, the range to be locked by a synchronization lock on the program code is automatically shrunk. The conversion reduces the lock collision time during program code execution and prevents deterioration in CPU efficiency in a multithread. COPYRIGHT: (C)2010,JPO&INPIT
Abstract:
PURPOSE: To attain the high speed of the execution of a program by introducing communication dependence expressing data dependence between processors. CONSTITUTION: A data dependence analyzing part 304 operates normal data dependence analysis and generates a data dependence vector for a loop decided by an object loop setting part 302. Then, an iteration space dividing part 306 divides all the areas (iteration spaces) of an index executed by the loop. Then, a communication analyzing part 308 analyzes which data should be read for executing the iteration spaces divided for being executed in parallel by each processor, compares it with it own, and decides the area of the data for communication. Moreover, a communication dependence analyzing part 310 processes the calculation of a communication vector, the calculation of a communication dependence vector, the judgement of the communication configuration of an operand, and the judgement of the execution configuration of the loop in this procedure.
Abstract:
PROBLEM TO BE SOLVED: To provide a source code conversion method, a server system and a server program for automatically converting a source code created by a programmer into a source code with reduced overhead in converting a source code into a String class of a hyper text transfer protocol(HTTP) request. SOLUTION: The method for converting a source code of a program using a computer includes steps of: specifying a character string type variable s=new String(b, "UTF-8") for storing a character string (S210); converting the character string type variables into reference character string type variables s=new String(bb) for storing reference to a buffer for storing the character string (S220); and storing the source code obtained by converting the character string type variables into the reference character string type variables. COPYRIGHT: (C)2010,JPO&INPIT
Abstract translation:要解决的问题:提供一种源代码转换方法,服务器系统和服务器程序,用于将由程序员创建的源代码自动转换为源代码,将源代码转换为String类的 超文本传输协议(HTTP)请求。 解决方案:使用计算机转换程序的源代码的方法包括以下步骤:指定用于存储字符串的字符串类型变量s = new String(b,“UTF-8”)(S210); 将字符串类型变量转换为引用字符串类型变量s = new String(bb),用于存储对用于存储字符串的缓冲区的引用(S220); 并将通过将字符串类型变量转换成参考字符串类型变量获得的源代码存储。 版权所有(C)2010,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a compiler, a compiler program, a recording medium, a control method and a central processor which realize optimized conversion of a character code system. SOLUTION: The compiler optimizes the conversion of the character code system of characters to be stored in a character variable in an object program to be optimized and is provided with: a conversion instruction generation part which reads characters of the character variable written by a first character code system, converts the characters from the first character code system into a second character code system and generates a conversion instructions to be stored in the character variable prior to each of a plurality of processings using the above read characters in the second character code system; and a conversion instruction removal part which removes the conversion instructions about each conversion instruction generated by the conversion instruction generation part when the characters in the second character code system are stored in the character variable in all execution paths to be executed prior to the conversion instructions. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To perform instruction movement for speculative execution while securing shortening of execution time to exception dependence for hardware- initiated potentially exception instructions (H-PEI) and software-initiated potentially exception instructions (S-PEI) inserted before the H-PEI, in a device which compiles a program described in a type safe language such as Java. SOLUTION: A dependence graph discriminating an exception dependent arc from other dependence arcs such as a control dependence arc or a data dependence arc is created. As to the fastest execution start time of H-PEI, it is examined which case is faster, execution through the exception dependence arc or execution not through the exception dependence arc. If the latter case is faster, the instruction movement for the speculative execution for the instruction sequence including the H-PEI is performed. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To provide an exception processing instruction generating method which does not execute an unneeded instruction and its system. SOLUTION: This method reads an intermediate code of a compiler, extracts one intermediate code (110), decides whether the extracted intermediate code is an instruction needing exception check and generates exception check instruction having a bit string that is uniquely decided from an exception kind (150) without generating an instruction for substituting a label showing the exception kind for a register when the instruction needs the exception check. Then, a processor instruction corresponding to the extracted intermediate code is generated (130), and an exception processing instruction is generated by repeating the above processing while an intermediate code to be processed remains. Further, the exception check instruction to be generated checks whether an exception condition is established and when it is established, it is made into an instruction to be branched to an exception processing part.
Abstract:
PROBLEM TO BE SOLVED: To speed up a communication between processors by comparing parameters based upon the execution of an execution-time code with parameters stored in a work area, and making the processors communicate with each other by reusing a communication pattern or memory access pattern according to the comparison result. SOLUTION: It is analyzed whether or not a communication pattern when a loop nest is executed can be cached (step 11) and a plurality of parameters determining the communication pattern between the processors is extracted (steps 12 and 13). Then the current parameters in the work area and old parameters stored in the work area are compared with each other (step 14), it is checked whether or not cached data are the same according to the comparison result (step 15), and the communication pattern or memory access pattern is reused to carry out the communication between the processors (steps 16-18). Consequently, the communication between the processors can be speeded up.
Abstract:
PROBLEM TO BE SOLVED: To prevent invalidation when the invalidation of a compiled code is not required.SOLUTION: A technique for speculatively optimizing a code includes: searching one or more dictionaries in predetermined order; extracting a value associated with a symbol name from the dictionaries by using the symbol name as a key; performing optimization to replace a symbol in the code with the value; compiling the code to be compiled including some or all of the optimized code; after the compilation, in response to detection of a change related to one of the dictionaries, comparing a rank m of the dictionary having the detected change in the predetermined order to a rank n of the dictionary having the extracted value; and invalidating the optimized code in the compiled code associated with the dictionary having the detected change in accordance with a result of the comparison of the ranks and with a type of the change.
Abstract:
PROBLEM TO BE SOLVED: To provide a device and method for improving the speed of access to a variable (symbol) which is frequently performed during the execution of a program described in a dynamic language.SOLUTION: This device includes: a range specification part 401 for specifying a range in which access to a symbol in a program can be made common; an instruction generation part 402 for performing access to a symbol table by using a key and generating a plurality of instructions including an instruction to acquire an address of a symbol entry and store the address in an address storage part; an instruction extraction part 403 for extracting the instruction from the specified range; and an instruction determination part 404 for determining whether or not the extracted instruction is an instruction to perform access to the symbol. When the extracted instruction is the instruction to perform access to the symbol, the instruction generation part 402 generates the instruction to perform access to the symbol by using the stored address of the symbol entry, the instruction being generated to enable access to the symbol without confirming the existence of the symbol, or to confirm the existence of the symbol quickly, when the symbol exists.