Merged r12485, r12486, r12491, r12494, r12495 into trunk branch.

Fix edge case of extension with NULL as source string.

Fixed CHECK failure in LCodeGen::DoWrapReceiver when --deopt-every-n-times flag is present

Correctly initialize regexp global cache.

Ensure correct enumeration indices in the dict

Fix API check for length of external arrays.

BUG=chromium:144649,chromium:148389,chromium:148378,chromium:148376,chromium:148896

R=yangguo@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org

Review URL: https://codereview.chromium.org/10907233

git-svn-id: http://v8.googlecode.com/svn/trunk@12514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
index 33efdd8..2b42b13 100644
--- a/src/ia32/lithium-codegen-ia32.cc
+++ b/src/ia32/lithium-codegen-ia32.cc
@@ -2946,12 +2946,12 @@
          FieldOperand(function, JSFunction::kSharedFunctionInfoOffset));
   __ test_b(FieldOperand(scratch, SharedFunctionInfo::kStrictModeByteOffset),
             1 << SharedFunctionInfo::kStrictModeBitWithinByte);
-  __ j(not_equal, &receiver_ok, Label::kNear);
+  __ j(not_equal, &receiver_ok);  // A near jump is not sufficient here!
 
   // Do not transform the receiver to object for builtins.
   __ test_b(FieldOperand(scratch, SharedFunctionInfo::kNativeByteOffset),
             1 << SharedFunctionInfo::kNativeBitWithinByte);
-  __ j(not_equal, &receiver_ok, Label::kNear);
+  __ j(not_equal, &receiver_ok);
 
   // Normal function. Replace undefined or null with global receiver.
   __ cmp(receiver, factory()->null_value());