Linked by Thom Holwerda on Mon 7th May 2012 20:09 UTC
Legal There's some movement in the Oracle-Google lawsuit today, but it's rather difficult to determine just what kind of movement. The jury was told by the judge Alsup to assume APIs are copyrightable - something Alsup still has to determine later during trial - and with that in mind, the judge ruled Google violated Oracle's copyright on Java. However, the jury did not come to an agreement on a rather crucial question: whether or not it was fair use. All in all, a rather meaningless verdict at this point, since it's incomplete. Also, what kind of nonsense is it for a judge to tell a jury to assume something is illegal? Am I the only one who thinks that's just complete insanity?
Permalink for comment 517302
To read all comments associated with this story, please click here.
RE[2]: Sigh. Thom.
by looncraz on Tue 8th May 2012 00:28 UTC in reply to "RE: Sigh. Thom."
looncraz
Member since:
2005-07-24

Not familiar with out-of-order execution and branch prediction are we?

It works something like this:

The code:

law = Law(API | COPYRIGHTABLE);

if (law.IsIllegal(google->DoocumentedUseCase()))
jury->RenderVerdict();


We know that the if statement can only have two possible outcomes: true or false. Further, we know that if the answer if false, the jury->RenderVerdict() is unneeded.

We find no basis in which we should assume false, so we assume true until we can calculate law.IsIllegal()'s return value and so we throw jury->RenderVerdict() into the pipeline. Now, should we get around to a false result from law.IsIllegal() we can cancel the execution of jury->RenderVerdict() and also completely free all related branches and predictions. Now, if jury->RenderVerdict() returns before we have completed law.IsIllegal(), we need only to cache the result and further execution in regards to jury can occur.

This makes things much faster.

Hope that makes sense...

--The loon

Reply Parent Score: 3