Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Jump threading


Related Topics

  
  Jump threading - Wikipedia, the free encyclopedia
In computing, jump threading is a compiler optimization.
In this pass, conditional jumps in the code that branch to identical or inverse tests are detected, and can be "threaded" through a second conditional test.
This is easily done in a single pass through the program, following acyclic chained jumps until you arrive at a fixed point.
en.wikipedia.org /wiki/Jump_threading   (82 words)

  
 Encyclopedia: GNU Compiler Collection   (Site not responding. Last check: 2007-10-26)
Jump to: navigation, search Mac OS X is the latest version of the Macintosh operating system, and is designed and developed by Apple Computer to run on their Macintosh line of personal computers.
Jump to: navigation, search Objective-C, often referred to as ObjC or more seldom as Objective C or Obj-C, is a reflective, object oriented programming language implemented as an extension to C. It is used primarily on Mac OS X and GNUstep, two environments based on the OpenStep standard...
Jump to: navigation, search A recursive descent parser is a top-down parser built from a set of mutually-recursive procedures or a non-recursive equivalent where each such procedure usually implements one of the production rules of the grammar.
www.nationmaster.com /encyclopedia/GNU-Compiler-Collection   (4372 words)

  
 De Kolta Rising Cards
Place the fourth card at the rear and on top of the thread, take the thread over to the front again and place the fifth card on top of the thread which then pass over the cards to the rear and continue until the whole of the pack is built up in like manner.
When threading the cards it will be as well to observe to place only heavy spot or picture cards in grant as the thread which necessarily passes over the face of each front card will be the less observable.
A pull on the thread will cause a card to rise, say from the front of the pack (placed in the glass) and if the pull be continued the next card will rise from the rear, and so on front and back alternately.
sky.prohosting.com /fizbin/athenaeum/magos/programs/nicola/jump.html   (869 words)

  
 Hyper-threading - Wikipedia, the free encyclopedia
The technology improves processor performance under certain workloads by providing useful work for execution units that would otherwise be idle, for example during a cache miss.
This problem can be avoided by improving the scheduler to treat logical processors differently from physical processors; in a sense, this is a limited form of the scheduler changes that are required for NUMA systems.
In May 2005 Colin Percival presented a paper, Cache Missing for Fun and Profit, demonstrating that a malicious thread operating with limited privileges in theory permits monitoring of the execution of another thread, allowing for the possibility of theft of cryptographic keys.
en.wikipedia.org /wiki/Hyper-threading   (745 words)

  
 Optimization passes
When all edges of the computed jump or conditional jump are forwarded to the same destination, the jump instruction is replaced by unconditional jump or removed entirely.
Jump threading is an optimization similar to edge forwarding but taking important special case of conditional jump targeting conditional jump with condition whose value can be determined from the condition of first jump.
We have implemented jump threading by running CSE over the two basic blocks as if they were a single block.
www.ucw.cz /~hubicka/papers/proj/node10.html   (5609 words)

  
 Control flow graph - Wikipedia, the free encyclopedia
Directed edges are used to represent jumps in the control flow.
Again, dead code and some infinite loops are possible even if the programmer didn't explicitly code that way: optimizations like constant propagation and constant folding followed by jump threading could collapse multiple basic blocks into one, cause edges to be removed from a CFG, etc., thus possibly disconnecting parts of the graph.
In particular, in this case, A is the "entry block", D the "exit block" and lines 4 and 5 are jump targets.
en.wikipedia.org /wiki/Control_flow_graph   (824 words)

  
 Info: (gcc) Passes   (Site not responding. Last check: 2007-10-26)
This pass detects a condition jump that branches to an identical or inverse test.
If constant propagation causes conditional jumps to become unconditional or to become no-ops, jump optimization is run again when CSE is finished.
Jump threading is also done again at this time if it was specified.
docsrv.sco.com:8457 /cgi-bin/info2html?(gcc)Passes   (2529 words)

  
 Jeffrey A Law - Re: [RFC] Catch 11.8% more jump threading opportunities at treelevel.
Change the jump thread selection code to allow threading through blocks with side effects that need to be preserved.
This actually simplifies the jump thread selection code and other parts of DOM as it no longer needs to track the current definition of variables anymore.
This can cause DOM to iterate in a later pass when previously the jump thread was handled with other jump threading opportunities in earlier passes.
gcc.gnu.org /ml/gcc-patches/2005-02/msg00363.html   (507 words)

  
 PFE Threading types
CFA Indirect Threading is the usual way in PFE and the traditional variant being the only one compatible with the FIG model.
In CTC-derived SBR-threading it means alternating access as Code and Data, and some K6 are known to be panicking as soon as they see a Data-access of an address in the Code-L1-cache and do a complete flush of the Code-cache.
Instead of the do-var code implementation to fetch the body-adress being compiled after its call, the SBR-ARG threading will compile an immediate arg-push before the call - which is actually the pfa-address prepended with an SBR-snippet to push it into the right place.
pfe.sourceforge.net /manual/ch01s10.html   (1707 words)

  
 zIWETHEY Comment: "Linux Kernel 2.6.0-test9-20031109-k7-1" by folkert   (Site not responding. Last check: 2007-10-26)
I am using NPT (Native Posix Threading) Libraries (2.3.2-ds10), the package is done nicely as is most other stuff from the One True Distro [*] I use.
Now me, slow is death, and with the gig of memory you must have, one wonders why use threads on a server when all it does is slow things down and take a few lines off a top screen.
Greg is using the new version of threads, which is POSIX compliant and much faster to boot.
z.iwethey.org /forums/render/content/show?contentid=124831   (995 words)

  
 Threaded Code
This is known as subroutine-threaded code, although it is not threaded code in the original sense; in fact, subroutine threading is not even an interpretive technique.
On most processors this jump costs more time than the additional load of indirect threading, so direct threading only pays off when primitives are executed.
Direct threaded code cannot be simply transported from one machine to another, because it contains code addresses, which vary from machine to machine.
www.complang.tuwien.ac.at /forth/threaded-code.html   (1556 words)

  
 Sun bets big on throughput computing, multi-threading - Nov. 17, 2003
Sun believes the future will be dominated by throughput computing, where application throughput across the network is enhanced alongside the development of faster chips which process several threads at once.
For non-geeks, Singer means that today's processors are slow by design because each thread or instruction carried out by the chip happens one after the other, or in a sequence.
Therefore, the second thread cannot be performed until the first thread is finished, and the third thread cannot commence until the second one is done, and so forth.
www.inq7.net /inf/2003/nov/17/inf_5-1.htm   (626 words)

  
 [No title]
Jump across is done after the register allocation.
Jump optimization is done after cse when cse's constant-propagation causes jumps to become unconditional or to be deleted.
Jump optimization will duplicate the loop exit test if there is a NOTE_INSN_LOOP_BEG followed by an unconditional jump.
www.cs.umn.edu /research/Agassiz/Memo/gcc-hli.txt   (1583 words)

  
 Sun raises curtain (a little) on Solaris 9 | The Register
Solaris 8 had an alternate threading library that Sun was allowing customers to play around with, and this is now the default threading library with Solaris 9.
The replaced threading library will not affect application compatibility - Solaris 8 apps will run unchanged - but this change in threading schemes will allow nearly all applications to scale to larger processor counts than they currently can on Solaris 8 servers.
Solaris 2.6 provided customers with the ability to create what is called a "Jump Start" disk to manually replicate servers, which is useful for infrastructure workloads where companies have dozens, hundreds, or thousands of identical servers that they need to keep in lockstep.
www.theregister.co.uk /2002/04/02/sun_raises_curtain_a_little   (1090 words)

  
 Welcome to AnandTech.com [ Article: Intel's Pentium 4 3.06GHz: Hyper-Threading on Desktops]   (Site not responding. Last check: 2007-10-26)
Think of a thread as a collection of instructions related to a single program, for example running spell check in Word would send a thread of instructions to the CPU to begin checking your document for spelling errors.
With HT enabled, another thread could be in the pipeline and continue to use the execution units while the CPU recovers from the other thread's mis-predicted branch.
When one thread is going to main memory the other thread could be having its way with the execution units thus improving efficiency.
www.anandtech.com /printarticle.html?i=1746   (3665 words)

  
 Moving Forth: Part 1
Over the years many threading variations have been devised, and which one is best depends upon the CPU and the application.
All the other threading schemes are "improvements" on this, so you need to understand ITC to appreciate the others.
The principal disadvantage of segment threading is the 16-byte "granularity" of the memory space.
www.zetetics.com /bj/papers/moving1.htm   (4648 words)

  
 [Bug tree-optimization/18694] [4.0 regression] loop miscompilation at -O1 (-ftree-ch)
Not really if you know the history of this code :(The selection code (thread_across_edge) dates from before the SSA updating code could handle threading through a block with side effects that needed to be preserved.
This in turn could lead to (incorrectly) threading a jump that was not threadable before.
I suspect it'll be pretty obvious given that we thread jumps differently in loop.i, stmt.i and predict.i.
lists.debian.org /debian-gcc/2004/12/msg00114.html   (446 words)

  
 Jump to the end of a range of data in Microsoft Excel - Nov. 17, 2003
Jump to the end of a range of data in Microsoft Excel - Nov. 17, 2003
Your cell pointer will directly jump to cell H3.
Jump to the end of a range of data in Microsoft Excel - Powertips - 11/17
www.inq7.net /inf/2003/nov/17/inf_21-1.htm   (281 words)

  
 Jeffrey A Law - Re: [RFC] Catch 11.8% more jump threading opportunities at treelevel.
> However, currently, DOM does not record "b_4 == 2" when threading edge > from to due to what seems to be an artificial restriction in > dom_opt_finalize_block and fails to thread the edge.
I never feel comfortable > when RTL optimizers are deciphering conditonal jumps that are > expressed in so many different ways from architecture to architecture.
I have changed queued for 4.1 which revamp the thread selection code which are far more effective than what you have posted.
gcc.gnu.org /ml/gcc-patches/2005-02/msg00318.html   (479 words)

  
 multithreading - a Whatis.com definition   (Site not responding. Last check: 2007-10-26)
Multithreading is the ability of a program or an operating system process to manage its use by more than one user at a time and to even manage multiple requests by the same user without having to have multiple copies of the programming running in the computer.
Each user request for a program or system service (and here a user can also be another program) is kept track of as a thread with a separate identity.
As programs work on behalf of the initial request for that thread and are interrupted by other requests, the status of work on behalf of that thread is kept track of until the work is completed.
whatis.techtarget.com /definition/0,,sid9_gci507093,00.html   (201 words)

  
 threading - OneLook Dictionary Search
Jump to: General, Art, Business, Computing, Medicine, Miscellaneous, Religion, Science, Slang, Sports, Tech, Phrases
Threading : Online Plain Text English Dictionary [home, info]
Phrases that include threading: hyper threading, multi threading, internal threading tool, jump threading, multithreading or multi threading, more...
www.onelook.com /?w=threading   (235 words)

  
 jump threading, take 2   (Site not responding. Last check: 2007-10-26)
Hi, second attempt to implement jump threading, now using CSElib.
On the ohter hand, it seems to be stronger than the original pass and noticeably simplier.
The more general cases of jump threading can be handled by tracer, that will make explicit copies of basic blocks in hot parts of procedure followed by CSE pass.
www.x86-64.org /lists/patches/msg01436.html   (2732 words)

  
 Platon.SK: libcfg+: last line in config file is not parsed   (Site not responding. Last check: 2007-10-26)
Now when "threading=1" is the last line in config file (without newline) it doesn't set "threading" and it doesnt complain either.
The problem is, that bug cannot be reproduced.
I created tiny testing program, "threading" variable is still successfully parsed, even if there is no newline at the end of file.
platon.sk /projects/bug_view_advanced_page.php?f_bug_id=199   (391 words)

  
 [No title]
When `fill_eager_delay_slots' takes insns from the fall-through path of the jump, usually there is no code expansion; when it takes insns from the branch target, there is code expansion if it is not the only way to reach that target.
It finds cases where conditional test can be eliminated, jumps can be threaded, extra insns can be eliminated, etc. It is the job of (1) and (2) to do a good job of scheduling locally; `relax_delay_slots' takes care of making the various individual schedules work well together.
We do these first since we don't want jump insns (that are easier to fill) to get the only insns that could be used for non-jump insns.
www.opensource.apple.com /darwinsource/10.2.5/gcc-937.2/gcc/reorg.c   (5872 words)

  
 Oompa Toys | European Toys | Haba Bambini Aqua Zoo | Wooden Toys, Baby Toys, Infant Toys
When I approach a child, he inspires in me two sentiments; tenderness for what he is, and respect for what he may become.
When your little one tires of threading, jump in and have fun teaching colors and counting.
This wonderful threading set was designed by our friends at Haba and manufactured in Germany.
www.oompa.com /static/HA1977.html   (222 words)

  
 Spymac IV :: Forums :: Technology :: Hardware Central :: which do you prefer?   (Site not responding. Last check: 2007-10-26)
This poll has been opened for 308 day(s) and has had 44 member(s) participate in it.
You are right about Hyper Threading on the P4, it's a gimmic.
the P4 Hyper Threading IS a gimmic, during a brenchmark test - there little different between that and the non hyper=threading
www.spymac.com /forums/showthread.php?threadid=149067   (269 words)

  
 jump threading   (Site not responding. Last check: 2007-10-26)
We should allow swapped operands, + different CCmodes, or for example comparisons for interval, that + dominate even when operands are not equivalent.
This entry point only rebuilds the JUMP_LABEL field in jumping insns and REG_LABEL notes in non-jumping --- 69,74 ---- *************** true_regnum (x) *** 2426,2895 **** SUBREG_BYTE (x), GET_MODE (x)); } return -1; - } - - /* Optimize code of the form: - - for (x = a[i]; x;...) -...
If not, we can't thread the - jump, so mark it as not equivalent.
www.x86-64.org /lists/patches/msg02816.html   (2660 words)

  
 [No title]
Three techniques for filling delay slots have been implemented so far: (1) `fill_simple_delay_slots' is the simplest, most efficient way to fill delay slots.
*/ static int redirect_with_delay_slots_safe_p (jump, newlabel, seq) rtx jump, newlabel, seq; { int flags, i; rtx pat = PATTERN (seq); /* Make sure all the delay slots of this jump would still be valid after threading the jump.
*/ static int reorg_redirect_jump (jump, nlabel) rtx jump; rtx nlabel; { incr_ticks_for_insn (jump); return redirect_jump (jump, nlabel, 1); } /* Called when INSN is being moved forward into a delay slot of DELAYED_INSN.
www.opensource.apple.com /darwinsource/10.3.6/gcc-1495/gcc/reorg.c   (6068 words)

  
 kForth Technical Information   (Site not responding. Last check: 2007-10-26)
Upon execution, the vector of byte codes is passed on to a virtual machine which looks up the execution address of the words and performs either a call or an indirect jump to the next execution address.
The type of threading used in the virtual machine is a hybrid of indirect call threading and indirect jump threading.
Only the assembly language portion of the virtual machine utilizes indirect jump threading.
ccreweb.org /software/kforth/kforth5.html   (1707 words)

  
 BeBits - Betelgeuse Threading and Synchronization
Betelgeuse is a set of classes for doing threading and syncrhonization.
It includes classes for launching and manipulating threads, mutexes, reader/writer locks (two implementations, depending on your sensitivity to kernel resource usage), and an implementation of synchronization via monitors and conditions.
Programmer documentation with usage examples is found in the relevant header files.
www.bebits.com /app/1050   (126 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.