Abstract:
PROBLEM TO BE SOLVED: To suppress the occurrence of a stack overflow or a stack underflow to prevent the execution performance of a program from being degraded by them in program code generation for a processor which has an architecture using a register stack. SOLUTION: A compiler 10 is provided with a register allocator 11 which allocates registers to instructions in a program as the compilation object and a code generator 12 which generates object codes on the basis of the result of register allocation by the register allocator 11. The register allocator 11 allocates logical registers to instruction in the program as the compilation object and allocates the logical registers allocated to instructions in the program to physical registers so that physical registers existing at the time of calling procedures in the program as the compilation object may be allocated in order from the bottom of the register stack. COPYRIGHT: (C)2003,JPO
Abstract:
PROBLEM TO BE SOLVED: To achieve efficient exclusive control without using an indivisible operation instruction or a memory barrier instruction. SOLUTION: A system in this invention is provided with: a storage device having a first storage area for storing first information indicating the acquisition or trial of an exclusive right based on a first task and a second storage area for storing second information indicating the acquisition or trial of an exclusive right based on a second task; a first acquisition part for reading out the second storage area after issuing an instruction for writing the first information in the first storage area according to a request of the first task, and when the second information is not read out, replying an exclusive right acquisition success; and a second acquisition part for executing write reflection processing capable of referring to contents written in the first storage area by the first task from the second task, reading out the first storage area after completing the write reflection processing, and when the first information is not read out from the first storage area, replying the exclusive right acquisition success. COPYRIGHT: (C)2008,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To furthermore improve the efficiency of access to a database. SOLUTION: A system for controlling access to the database is provided with: an acquisition part for acquiring an access program including a plurality of access instructions to the database; a detection part for detecting a plurality of mutually different tables to be accessed by the plurality of access instructions; a combination control part for executing a combination instruction for acquiring a result table obtained by combining the plurality of detected tables from the database prior to the execution of the plurality of access instructions; and a conversion control part for executing a conversion instruction for extracting records accessed by the plurality of access instructions from the result table and converting the extracted records into structure allowed to be accessed by the plurality of access instructions prior to the execution of the plurality of access instructions. COPYRIGHT: (C)2007,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To improve the executing efficiency of a program by reducing the influences of an explicit order for matching the images of local variables between a code train executed via an interpreter and a compiled code train for optimizing operation. SOLUTION: This program conversion method comprises a first step of setting a code negligible in the certain deformation of the second code train out of codes in the first code train giving influences to the deformation of the second code train during transition from the first code train where an object to be executed by a program is executed via the interpreter to the second compiled code train and a second step of performing the certain deformation of the second code train while neglecting the set negligible code. It is acceptable that it includes a third step of generating a compensation code required for the deformation of the second code train including the propagation of a copying order and inserting it into the first code train. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To effectively optimize an object code in the range satisfying limitation caused by the number of physical registers of a processor. SOLUTION: This compiler device performs code generation from a program represented by a DAG(directed acyclic graph) while evaluating the number of used registers and the number of execution cycles and optimizes a code to be generated. That is, the compiler calculates the number of cycles with which each operation can be executed on the DAG and the number of the currently available registers, performs code generation while preceding an operator on an execution path that takes the most time in the DAG in a part where the number of registers is sufficient, and performs code generation while preceding such an operator as to reduce the number of used registers when the number of registers is not sufficient.
Abstract:
PROBLEM TO BE SOLVED: To quicken the execution of the code of the processing of an iterator.SOLUTION: Data conversion is expressed with generator conversion on an intermediate language having a generator, and optimized by a compiler. Thus, the data conversion is expressed with the generator conversion. Then, the in-lining rewriting of the generator is applied on the intermediate language. When a generator g is consumed in the form of a for(x:g){e} sentence, the in-lining of the generator is achieved by replacing the "for(x:g){e}" itself (by performing the in-lining of a generation side code into a consumption side code) with "the appearance of yield in the definition of g is replaced with e (by performing the in-lining of the consumption side code into the generation side code)".
Abstract:
PROBLEM TO BE SOLVED: To allow a plurality of clients to successively and stably transmit data to one server. SOLUTION: The present invention relates to a method for collecting data from a plurality of client computers to a server as a first mode, including the steps of: reconstructing a collection network of a tree structure with the server as a most-significant node and the plurality of client computers as slave nodes each time data are collected; broadcasting a parentage declaration from the server to the low-order nodes; and transferring data from each of nodes to high-order nodes. COPYRIGHT: (C)2011,JPO&INPIT
Abstract:
PROBLEM TO BE SOLVED: To provide a method and system for realizing a public key cryptosystem in pseudo manner at low costs. SOLUTION: Using a private key cryptosystem and a hardware with tamper resistance, a public key cryptosystem is realized in pseudo manner at low costs. Each user carries out communication by using equipment equipped with a hardware respectively having the same function mentioned later. That is, assignment of a key with some ID is provided and ID is made to be effective and stored by a request from a user, and decrypting and generation of MAC (message authenticator) are carried out with the key assigned to the ID. Though encrypting and inspection of MAC using an optional ID can be carried out, decrypting and generation of MAC cannot be carried out. The user keeps the ID open. A transmitter of a message encrypts the message by using the opened ID of the receiver of the message and using a hardware having the same function. Though a third party cannot carry out decrypting using the ID excepting for analyzing mechanism in the hardware, the hardware destroys itself to such a behavior. COPYRIGHT: (C)2006,JPO&NCIPI
Abstract:
PROBLEM TO BE SOLVED: To allocate a proper register to a plurality of variables by solving the problem of delaying an execution speed of a generating command train since a variable using method is not adapted to properties of registers allocated to the variables in a computer mutually different in the respective properties of a plurality of registers. SOLUTION: This compiler converts a source program into the command train of a processor, and is provided with a simultaneously using variable acquiring part 220 for acquiring a variable simultaneously used with the variables in a plurality of respective variables used in the source program, an allocation order forming part 230 for forming a plurality of allocation orders between the plurality of variables allocated to the registers different from a variable simultaneously used with the variables, an allocation precedence acquiring part 300 for acquiring allocation precedence for indicating to which register the plurality of respective variables are preferentially allocated among the plurality of registers and a register allocation part 310 for allocating the plurality of variables to the registers according to one allocation order selected on the basis of the allocation precedence among the plurality of allocation orders. COPYRIGHT: (C)2004,JPO
Abstract:
PROBLEM TO BE SOLVED: To improve the execution efficiency of compile processing by efficiently saving and restoring the contents of a register. SOLUTION: Whether or not predetermined variables in an execution program exist beyond predetermined function calling, and beyond what kind of the function calling do those variables exist is judged, and which of a volatile register, non-volatile register, and semi-volatile register should the above mentioned variables be allocated to is decided based on the judgement. Also, which of the registers should the variables existing beyond the function calling be allocated to is decided based on the execution frequency of the function at the time of executing an execution program. COPYRIGHT: (C)2003,JPO