Patents by Inventor Tamiya Onodera
Tamiya Onodera has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20120096447Abstract: A technique for comprehensively acquiring calling-context information at a low cost. Call site IDs are held for each thread as a call history and used as context information. At the time of calling a method, the call history existing in a current frame is shifted left, and stacked in a new frame, with the call site ID of the call site put in the lower bits. At the time of returning from the method, the value of the original call history is returned by returning the frame. At the time of performing a virtual call, call history information is recorded into a call position profile table used to identify a method to be inlined at the time of performing JIT compiling, in addition to determined jump destination information and the number of calls.Type: ApplicationFiled: October 14, 2011Publication date: April 19, 2012Applicant: International Business Machines CorporationInventors: Derek B. Inglis, Kiyokuni Kawachiya, Tamiya Onodera, Michiaki Tatsubori
-
Publication number: 20120054725Abstract: A method and system for code generation and inlining. The method includes: scanning a code, where the code includes a method; determining whether the method includes a branch if the method is too large in size to be inlined, where the branch is based on runtime types of argument; profiling runtime types of actual arguments at a call site in the method if the method includes the branch; generating a polymorphic inline cache (PIC) code from a plurality of arguments, where the plurality of arguments are based on a result of the profiling step; generating a specialized method for a frequently appearing combination of the runtime types of argument and arguments that can be invoked from the PIC code; and inlining body of the specialized method into the call site if the specialized method has a body size within a permissible range.Type: ApplicationFiled: August 30, 2011Publication date: March 1, 2012Applicant: International Business Machines CorporationInventors: Derek B. Inglis, Kiyokuni Kawachiya, Tamiya Onodera, Michiaki Tatsubori
-
Publication number: 20110154354Abstract: A method, system, and program for recording an object allocation site. In the structure of an object, a pointer to a class of an object is replaced by a pointer to an allocation site descriptor which is unique to each object allocation site, a common allocation site descriptor is used for objects created at the same allocation site, and the class of the object is accessed through the allocation site descriptor.Type: ApplicationFiled: December 9, 2010Publication date: June 23, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kiyokuni Kawachiya, Rei Odaira, Tamiya Onodera
-
Publication number: 20110137971Abstract: A method of collecting data into a server from multiple client computers is provided as a first aspect of the invention. The method includes the steps of: reconstructing a collection network in a tree structure having the server acting as a highest node and the multiple client computers acting as child nodes every time the data is collected; the server broadcasting a parent-child declaration to nodes placed at the lower level; and each of the nodes transferring data to a node placed at the higher level.Type: ApplicationFiled: December 7, 2010Publication date: June 9, 2011Applicant: International Business Machines CorporationInventors: Hiroshi Horii, Akira Koseki, Taiga Nakamura, Tamiya Onodera
-
Publication number: 20110067018Abstract: A method, computer program product and system for improving performance of a program during runtime. The method includes reading source code; generating a dependence graph with a dependency for (1) data or (2) side effects; generating a postdominator tree based on the dependence graph; identifying a portion of the program able to be delayed using the postdominator tree; generating delay closure code; profiling a location where the location is where the delay closure code is forced; inlining the delay closure code into a frequent location in which the delay closure code has been forced with high frequency; partially evaluating the program; and generating fast code which eliminates an intermediate data structure within the program, where at least one of the steps is carried out using a computer device so that performance of the program during runtime is improved.Type: ApplicationFiled: September 14, 2010Publication date: March 17, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kiyokuni Kawachiya, Tamiya Onodera, Michiaki Tatsubori, Akihiko Tozawa
-
Publication number: 20100269034Abstract: A high-speed web server that generates an HTML file upon receipt of an HTTP request is described. The server includes an application executor device and an HTTP server device that receives the HTTP request and sends an HTTP response to the HTTP request. A method for sending an HTTP response in a server that generates an HTML file upon receipt of an HTTP request is also provided. The method includes: executing a script; calculating the number of appearances of the string; storing the string in a storage; executing a script when the script is a command for processing a string; replacing the string with reference information; and sending the string file along with the HTML file when it includes reference information for reference to the string file.Type: ApplicationFiled: April 15, 2010Publication date: October 21, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Tamiya Onodera, Toyotaro Suzumura, Michiaki Tatsubori
-
Publication number: 20100235412Abstract: A string handling method, program, and information processing apparatus capable of reducing the amount of data stored in a storage. An information processing apparatus handles strings. The information processing apparatus includes a storage storing a group of strings including a plurality of strings each of which consists of a plurality of pieces of character data, a reference section which refers to a particular string in the group of strings, a character data detecting section which detects character data that is not referenced as the particular string in the group of strings, and a character data deleting section which deletes the detected character data from the group of strings.Type: ApplicationFiled: May 20, 2009Publication date: September 16, 2010Inventors: Kiyokuni Kawachiya, Kazunori Ogata, Tamiya Onodera
-
Patent number: 7793023Abstract: An exclusion controller which allows an information processing unit to acquire a contended resource to the exclusion of the other information processing units includes a plurality of non-prioritized information processing units mutually exclusively acquiring a non-prioritized exclusion right, which indicates a candidate for acquiring the contended resource, by a first process. The exclusion controller further includes a prioritized information processing unit acquiring the contended resource by a second process, which requires a shorter processing time than the first process, to the exclusion of the non-prioritized information processing unit having acquired the non-prioritized exclusion right.Type: GrantFiled: April 4, 2008Date of Patent: September 7, 2010Assignee: International Business Machines CorporationInventors: Kiyokuni Kawachiya, Akira Koseki, Tamiya Onodera
-
Publication number: 20100153484Abstract: One or more servers are communicatively connected to a client. An application program and a dummy template engine run on the servers. The dummy template engine substitutes an original template engine that can run on the servers. The original template engine is normally used by the application program to fill parameters of a template at the servers. The dummy template engine has the same interface as the original template has, such that the application program accesses the dummy template engine no differently than it accesses the original template engine. The dummy template engine is thus accessed by the application program in lieu of the original template engine. The dummy template engine causes the parameters of the template to be filled at the client instead of at the servers, such that template parameter filling is offloaded to the client.Type: ApplicationFiled: December 14, 2008Publication date: June 17, 2010Inventors: Michiaki Tatsubori, Toyotaro Suzumura, Tamiya Onodera
-
Publication number: 20100106697Abstract: A system including multiple application servers for accessing shared data and a centralized control unit for centrally controlling a lock applied to the shared data by each of the application servers. Each application server includes a distributed control unit for controlling a lock applied to the shared data by the application server and a selection unit for selecting any one of distributed mode in which a lock is acquired from the distributed control unit or a centralized mode in which a lock is acquired from the centralized control unit.Type: ApplicationFiled: October 1, 2009Publication date: April 29, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Miki Enoki, Hiroshi Horii, Tamiya Onodera, Yohsuke Ozawa
-
Publication number: 20090249292Abstract: The specification of a string within source code written in a programming language is received. The source code is processed for ultimate execution of a computer program encompassing the source code, by at least performing the following. It is determined whether the string specified is a short string or a long string. The string is processed in accordance with a first manner where the string is a short string. The string is processed in accordance with a second manner where the string is a long string.Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Inventors: Michiaki Tatsubori, Akihiko Tozawa, Toyotaro Suzumura, Tamiya Onodera, Scott Ross Trent
-
Publication number: 20090187896Abstract: Compiler device for optimizing program which manipulates a character string includes append instruction detection unit, store code generation unit, and append code generation unit. The append instruction detection unit detects an append instruction which appends a character string to a string variable for storing a character string, in the program. The store code generation unit generates, a substitute for each of a plurality of the append instructions detected by the append instruction detection unit, a store code for storing data of an appendant character string to be appended to the string variable by the append instruction into a buffer. The append instructions append the character strings to the same string variable. The append code generation unit generates append code for appending a plurality of the appendant character strings to the string variable, at a position executed before an instruction to refer to the string variable in the program.Type: ApplicationFiled: November 10, 2008Publication date: July 23, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Takeshi Ogasawara, Tamiya Onodera, Mikio Takeuchi
-
Patent number: 7543295Abstract: A system of the present invention includes: a memory device which includes a first memory area for storing first information indicating that a first task acquires or attempts to acquire a lock, and a second memory area for storing second information indicating that a second task acquires or attempts to acquire the lock, and in which a time lag may occur between a time when the first task issues a writing instruction and a time when the written content is enabled to be referred to by the second task; a first acquisition section which reads the second memory area after issuing a writing instruction to write the first information to the first memory area in response to a request from the first task, and which makes a reply indicating a success of the lock acquisition on condition that the second information is not read; and a second acquisition section which writes the second information to the second memory area in response to a request from the second task, which enables the written content to be referred to bType: GrantFiled: October 17, 2007Date of Patent: June 2, 2009Assignee: International Business Machines CorporationInventors: Kiyokuni Kawachiya, Akira Koseki, Tamiya Onodera, Graeme Johnson
-
Publication number: 20090070740Abstract: A system of the present invention includes a storage device for distinguishably storing old objects that are objects having existed for not less than a predetermined period since being generated and new objects that are objects having existed for less than the predetermined period since being generated. Then, a new object that has existed for less than the predetermined period since being generated is selected from the storage device, and an old object having the same content as the selected new object is searched for. If such an old object is not found, the selected new object is newly stored as an old object in the storage device. If the old object is found, a reference to the selected new object is integrated with a reference to the found old object. If the old object is stored, the reference to the selected new object is changed to a reference to the stored old object.Type: ApplicationFiled: August 15, 2008Publication date: March 12, 2009Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Tamiya Onodera, Kiyokuni Kawachiya, Kazunori Ogata
-
Patent number: 7493610Abstract: A system and method for optimizing program code in dynamic languages includes gathering hot-type information from a program by employing inferencing or profiling to get the hot-type information for operator uses, and inserting guards in the program based on data flow in the program to guard against propagation failures during runtime where preconditions are violated or where the propagation is unlikely to return. The program is versioned into global versions including a hot path version and a cold path version, where the hot path version is expected to be executed if the values of variables in the code are expected types, and other exceptional cases are handled by the cold path version as triggered by the guards. Compiler optimizations are performed to remove redundant representations of values, and heavy overloading of operators to provide an optimized compiling of the code.Type: GrantFiled: March 27, 2008Date of Patent: February 17, 2009Assignee: International Business Machines CorporationInventors: Tamiya Onodera, Vijay Sundaresan, Michiaki Tatsubori, Akihiko Tozawa
-
Patent number: 7451437Abstract: Compiler device for optimizing program which manipulates a character string includes append instruction detection unit, store code generation unit, and append code generation unit. The append instruction detection unit detects an append instruction which appends a character string to a string variable for storing a character string, in the program. The store code generation unit generates, a substitute for each of a plurality of the append instructions detected by the append instruction detection unit, a store code for storing data of an appendant character string to be appended to the string variable by the append instruction into a buffer. The append instructions append the character strings to the same string variable. The append code generation unit generates append code for appending a plurality of the appendant character strings to the string variable, at a position executed before an instruction to refer to the string variable in the program.Type: GrantFiled: February 25, 2004Date of Patent: November 11, 2008Assignee: International Business Machines CorporationInventors: Takesji Ogasawara, Tamiya Onodera, Mikio Takeuchi
-
Publication number: 20080276256Abstract: In a multiprocessor computer system, a lock operation is maintained with a thread using non-atomic instructions. Identifiers are assigned to each thread. Flags in conjunction with the thread identifiers are used to determine the continuity of the lock with a thread. However, in the event continuity of the lock with the thread ceases, a compare-and-swap operation is executed to reset the lock with the same thread or another thread. Similarly, in the event there has been a collision between two or more threads requesting the lock, a compare-and-swap operation is executed to assign the lock to one of the requesting threads. Accordingly, prolonged ownership of a lock operation by a thread is encouraged to mitigate use of atomic operations in granting of the lock to a non-owning thread.Type: ApplicationFiled: July 15, 2008Publication date: November 6, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Takeshi Ogasawara, Akira Koseki, Hideaki Komatsu, Kiyokuni Kawachiya, Tamiya Onodera
-
Publication number: 20080243887Abstract: An exclusion controller which allows an information processing unit to acquire a contended resource to the exclusion of the other information processing units includes a plurality of non-prioritized information processing units mutually exclusively acquiring a non-prioritized exclusion right, which indicates a candidate for acquiring the contended resource, by a first process. The exclusion controller further includes a prioritized information processing unit acquiring the contended resource by a second process, which requires a shorter processing time than the first process, to the exclusion of the non-prioritized information processing unit having acquired the non-prioritized exclusion right.Type: ApplicationFiled: April 4, 2008Publication date: October 2, 2008Applicant: International Business Machines Corp.Inventors: KIYOKUNI KAWACHIYA, Akira Koseki, Tamiya Onodera
-
Patent number: 7415556Abstract: An exclusion controller which allows an information processing unit to acquire a contended resource to the exclusion of the other information processing units includes a plurality of non-prioritized information processing units mutually exclusively acquiring a non-prioritized exclusion right, which indicates a candidate for acquiring the contended resource, by a first process. The exclusion controller further includes a prioritized information processing unit acquiring the contended resource by a second process, which requires a shorter processing time than the first process, to the exclusion of the non-prioritized information processing unit having acquired the non-prioritized exclusion right.Type: GrantFiled: October 23, 2003Date of Patent: August 19, 2008Assignee: International Business Machines CorporationInventors: Kiyokuni Kawachiya, Akira Koseki, Tamiya Onodera
-
Patent number: 7406684Abstract: The same executable instruction stream as an executable instruction stream generated by a dynamic compiler is reproduced to facilitate debugging of the dynamic compiler. Provides compiler program for computer functioning as: an execution status obtaining section for obtaining an execution status of the program; a dynamic compilation section for compiling one of the partial programs to be executed during execution of the program; an execution status recording section for recording the execution status in a memory area allocated on a memory of the computer; a file reading section for reading a file containing contents of the memory area allocated on the memory; and a replay compilation section for compiling the one partial program on the basis of the execution status obtained from the file to generate the same executable instruction stream as the executable instruction stream generated by the dynamic compilation section during the execution of the program.Type: GrantFiled: January 25, 2005Date of Patent: July 29, 2008Assignee: International Business Machines CorporationInventors: Kazunori Ogata, Tamiya Onodera, Hideaki Komatsu