ART: Change x86 long param ABI (Quick/JNI/Opt)

Ensure that we don't pass a long parameter across the last register
and the stack: skip the register and allocate it only on the stack.
This was requested to simplify the optimizing compiler code
generation for x86.

Optimizing (Baseline) compiler support for x86 longs:
- Remove QuickParameter from Location, as there are no longer any uses
  of it.

Bump oat.h version because we changed an ABI again.

I changed IsParamALong() to return false for argument 0 (this argument).
I am not sure why it differed from all other tests.

I have not tested on ARM.  I followed Nicolas's suggestions for setting
the value of kSplitPairAcrossRegisterAndStack for different
architectures.

Change-Id: I2f16b33c1dac58dd4f4f503e9c2309d845f5fb7a
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
diff --git a/runtime/arch/x86/quick_entrypoints_x86.S b/runtime/arch/x86/quick_entrypoints_x86.S
index fd3a1cf..beacd49 100644
--- a/runtime/arch/x86/quick_entrypoints_x86.S
+++ b/runtime/arch/x86/quick_entrypoints_x86.S
@@ -467,7 +467,8 @@
 
     // Now check ebx
     SKIP_OVER_FLOATS esi, edi, al, .Lgpr_setup_finished
-    // Must be first word of a long, or an integer.
+    // Must be first word of a long, or an integer. First word of long doesn't
+    // go into EBX, but can be loaded there anyways, as it is harmless.
     movl (%edi), %ebx
     jmp .Lgpr_setup_finished
 .LfirstLong:
@@ -569,7 +570,8 @@
 
     // Is there anything for ebx?
     SKIP_OVER_FLOATS esi, edi, al, .Lgpr_setup_finished2
-    // First word of long or integer.  Load into EBX.
+    // Must be first word of a long, or an integer. First word of long doesn't
+    // go into EBX, but can be loaded there anyways, as it is harmless.
     movl (%edi), %ebx
     jmp .Lgpr_setup_finished2
 .LSecondLong2:
@@ -585,7 +587,8 @@
 
     // Anything for EBX?
     SKIP_OVER_FLOATS esi, edi, al, .Lgpr_setup_finished2
-    // First word of long or integer.  Load into EBX.
+    // Must be first word of a long, or an integer. First word of long doesn't
+    // go into EBX, but can be loaded there anyways, as it is harmless.
     movl (%edi), %ebx
     jmp .Lgpr_setup_finished2
     // Nothing left to load.