platform/upstream/v8.git
11 years agoFix Mac llvm-gcc42 build after commit r16473.
bmeurer@chromium.org [Mon, 2 Sep 2013 12:36:08 +0000 (12:36 +0000)]
Fix Mac llvm-gcc42 build after commit r16473.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCleanup Semaphore class.
bmeurer@chromium.org [Mon, 2 Sep 2013 12:26:06 +0000 (12:26 +0000)]
Cleanup Semaphore class.

Drop the previous Semaphore class from platform files.

Add new Semaphore class using the new TimeDelta class for
the WaitFor() operation. Consistently assert correct behaviour
for the different implementations.

Improve test coverage of the Semaphore class.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIn reporting step-in positions be more accurate with a position the debugger paused at
prybin@chromium.org [Mon, 2 Sep 2013 12:24:41 +0000 (12:24 +0000)]
In reporting step-in positions be more accurate with a position the debugger paused at

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRepresentation of interceptor / handler properties are tagged.
verwaest@chromium.org [Mon, 2 Sep 2013 12:16:02 +0000 (12:16 +0000)]
Representation of interceptor / handler properties are tagged.
Otherwise store ICs will never be initialized, due to lookup->CanHoldValue(value);

BUG=chromium:256330
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23533012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agorevert thread isolate in PreallocatedStorageAllocationPolicy
dcarney@chromium.org [Mon, 2 Sep 2013 11:39:23 +0000 (11:39 +0000)]
revert thread isolate in PreallocatedStorageAllocationPolicy

This reverts 16467 for breaking windows build

TBR=svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agothread isolate in PreallocatedStorageAllocationPolicy
dcarney@chromium.org [Mon, 2 Sep 2013 11:20:42 +0000 (11:20 +0000)]
thread isolate in PreallocatedStorageAllocationPolicy

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.21.9.
jkummerow@chromium.org [Mon, 2 Sep 2013 11:01:06 +0000 (11:01 +0000)]
Prepare push to trunk.  Now working on version 3.21.9.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove OptimizedCodeEntry *sigh*.
titzer@chromium.org [Mon, 2 Sep 2013 10:35:34 +0000 (10:35 +0000)]
Remove OptimizedCodeEntry *sigh*.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMove ToI conversions to the MacroAssembler
olivf@chromium.org [Mon, 2 Sep 2013 09:30:54 +0000 (09:30 +0000)]
Move ToI conversions to the MacroAssembler

+ Replace DeferredTaggedToINoSSE2 by DoubleToIStub and a fpu version.

+ Prevent truncating TaggedToI from bailing out.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoremove Isolate::Current from most files starting with 'a'
dcarney@chromium.org [Mon, 2 Sep 2013 09:27:27 +0000 (09:27 +0000)]
remove Isolate::Current from most files starting with 'a'

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agothread isolate in accessors.cc
dcarney@chromium.org [Mon, 2 Sep 2013 09:25:20 +0000 (09:25 +0000)]
thread isolate in accessors.cc

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Support for DoubleToIStub (truncating).
gergely@homejinni.com [Sun, 1 Sep 2013 17:22:08 +0000 (17:22 +0000)]
MIPS: Support for DoubleToIStub (truncating).

Port r16322 (8a03070)

Original commit message:
Added support for truncating DoubleToIStub and reorganize the macro-assembler
dToI operations to do the fast-path inline and the slow path by calling the
stub.

BUG=
R=gergely@homejinni.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix definition of V8_LIBRT_NOT_AVAILABLE in v8.gyp since we test for it using #elif...
bmeurer@chromium.org [Sun, 1 Sep 2013 15:03:36 +0000 (15:03 +0000)]
Fix definition of V8_LIBRT_NOT_AVAILABLE in v8.gyp since we test for it using #elif in time.cc.

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd scriptId to StackTrace frames.
yurys@chromium.org [Fri, 30 Aug 2013 14:54:59 +0000 (14:54 +0000)]
Add scriptId to StackTrace frames.

BUG=v8:2865
R=verwaest@chromium.org, yurys@chromium.org

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

Patch from Vsevolod Vlasov <vsevik@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoWork-around missing librt for cross-compiling Chrome for Android in AOSP.
bmeurer@chromium.org [Fri, 30 Aug 2013 14:10:13 +0000 (14:10 +0000)]
Work-around missing librt for cross-compiling Chrome for Android in AOSP.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify JSObject::SetAccessor method.
mstarzinger@chromium.org [Fri, 30 Aug 2013 14:08:15 +0000 (14:08 +0000)]
Handlify JSObject::SetAccessor method.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify JSObject::SetIdentityHash method.
mstarzinger@chromium.org [Fri, 30 Aug 2013 13:42:16 +0000 (13:42 +0000)]
Handlify JSObject::SetIdentityHash method.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify JSObject::DeleteHiddenProperty method.
mstarzinger@chromium.org [Fri, 30 Aug 2013 13:28:52 +0000 (13:28 +0000)]
Handlify JSObject::DeleteHiddenProperty method.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify JSProxy::Fix
verwaest@chromium.org [Fri, 30 Aug 2013 12:52:25 +0000 (12:52 +0000)]
Handlify JSProxy::Fix

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23707007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix typo breaking Mac build after commit r16450.
bmeurer@chromium.org [Fri, 30 Aug 2013 12:30:09 +0000 (12:30 +0000)]
Fix typo breaking Mac build after commit r16450.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImprove feature detection.
bmeurer@chromium.org [Fri, 30 Aug 2013 12:09:50 +0000 (12:09 +0000)]
Improve feature detection.

Add V8_GLIBC_PREREQ() macro to test the version of the GNU C library.
Make V8_GNUC_PREREQ() work for compilers that masquerade as GCC (you
can always use V8_CC_* to test for a specific one if you need to).
Add V8_LIBC_* to detect the C library in use.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReland "Fix missing x87 tracking for deferred code."
olivf@chromium.org [Fri, 30 Aug 2013 11:58:50 +0000 (11:58 +0000)]
Reland "Fix missing x87 tracking for deferred code."

Fixed mac build.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify JSReceiver::SetElement method.
mstarzinger@chromium.org [Fri, 30 Aug 2013 11:44:39 +0000 (11:44 +0000)]
Handlify JSReceiver::SetElement method.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.21.8.
jkummerow@chromium.org [Fri, 30 Aug 2013 11:31:06 +0000 (11:31 +0000)]
Prepare push to trunk.  Now working on version 3.21.8.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn interrupt and stack check into builtins.
yangguo@chromium.org [Fri, 30 Aug 2013 11:24:58 +0000 (11:24 +0000)]
Turn interrupt and stack check into builtins.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake VisitStatements() consistent among all AstVisitor implementations
jkummerow@chromium.org [Fri, 30 Aug 2013 10:51:37 +0000 (10:51 +0000)]
Make VisitStatements() consistent among all AstVisitor implementations

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agofix eternal casts
dcarney@chromium.org [Fri, 30 Aug 2013 09:03:27 +0000 (09:03 +0000)]
fix eternal casts

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "ConstantPoolSizeAt() should return number of Instructions instead, otherwise...
bmeurer@chromium.org [Fri, 30 Aug 2013 08:16:04 +0000 (08:16 +0000)]
Revert "ConstantPoolSizeAt() should return number of Instructions instead, otherwise, some of the code will be treated as constant pool when printing code in ARM disassembler."

This reverts commit r16419 for breaking the ARM simulator tests.

TEST=mjsunit/regress/regress-2624
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAssert external strings in external string table. Remove TODOs.
yangguo@chromium.org [Fri, 30 Aug 2013 07:48:04 +0000 (07:48 +0000)]
Assert external strings in external string table. Remove TODOs.

R=hpayer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSimplify object printer declarations.
mstarzinger@chromium.org [Fri, 30 Aug 2013 07:41:24 +0000 (07:41 +0000)]
Simplify object printer declarations.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHandlify JSObject::DeleteElement method.
mstarzinger@chromium.org [Thu, 29 Aug 2013 18:01:45 +0000 (18:01 +0000)]
Handlify JSObject::DeleteElement method.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake implicit HandleScope of AssertNoContextChange explicit.
mstarzinger@chromium.org [Thu, 29 Aug 2013 17:13:57 +0000 (17:13 +0000)]
Make implicit HandleScope of AssertNoContextChange explicit.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Fix missing x87 tracking for deferred code."
olivf@chromium.org [Thu, 29 Aug 2013 16:30:47 +0000 (16:30 +0000)]
Revert "Fix missing x87 tracking for deferred code."

Mac builder has some problems compiling.

BUG=
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix missing x87 tracking for deferred code.
olivf@chromium.org [Thu, 29 Aug 2013 15:59:40 +0000 (15:59 +0000)]
Fix missing x87 tracking for deferred code.

When compiling deferred code we have to remember the corresponding stack state and ensure that the deferred code does not manipulate the order of elements.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoturn on global handle zapping
dcarney@chromium.org [Thu, 29 Aug 2013 15:03:37 +0000 (15:03 +0000)]
turn on global handle zapping

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAlways visit branches during HGraph building
jkummerow@chromium.org [Thu, 29 Aug 2013 14:55:45 +0000 (14:55 +0000)]
Always visit branches during HGraph building

even if constant values indicate that they are unreachable.

BUG=chromium:280333
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDo not start sampler thread when CpuProfiler is active
yurys@chromium.org [Thu, 29 Aug 2013 14:03:38 +0000 (14:03 +0000)]
Do not start sampler thread when CpuProfiler is active

Now that CpuProfiler sends does sampling on the profile event processing thread there is no need to launch sampler thread. The latter is used only for --prof profiler.

BUG=v8:2814
R=bmeurer@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImplement materialization support for JSArray types.
mstarzinger@chromium.org [Thu, 29 Aug 2013 13:56:08 +0000 (13:56 +0000)]
Implement materialization support for JSArray types.

R=hpayer@chromium.org
TEST=mjsunit/regress/regress-crbug-150729 (+FastLiteral)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSupport higher CPU profiler sampling rate on Windows
yurys@chromium.org [Thu, 29 Aug 2013 13:44:25 +0000 (13:44 +0000)]
Support higher CPU profiler sampling rate on Windows

This change moves sampling from SamplerThread to the profiler events processing thread and allows to configure sampling interval on Windows.

Custom tick counter is used instead of OS::Ticks as the latter has maximum presicion of 1ms while we need 100us. QueryPerformanceCounter is used to retrieve high-precision time as described in http://msdn.microsoft.com/en-us/library/ee417693(VS.85).aspx

BUG=v8:2814
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRefactor interrupt check patching for OSR.
yangguo@chromium.org [Thu, 29 Aug 2013 13:06:04 +0000 (13:06 +0000)]
Refactor interrupt check patching for OSR.

This is to prepare for speculative concurrent OSR. I'm planning to add
another builtin to patch to, to indicate a concurrent OSR.

R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSimplified BuildFastLiteral by eliminating manual allocation folding.
hpayer@chromium.org [Thu, 29 Aug 2013 12:06:45 +0000 (12:06 +0000)]
Simplified BuildFastLiteral by eliminating manual allocation folding.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDisabling escape analysis.
hpayer@chromium.org [Thu, 29 Aug 2013 11:58:08 +0000 (11:58 +0000)]
Disabling escape analysis.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix escape analysis for redefining operators.
mstarzinger@chromium.org [Thu, 29 Aug 2013 11:55:31 +0000 (11:55 +0000)]
Fix escape analysis for redefining operators.

This recognizes escape paths that flow through informative definitions
as an escaping use. This only applies to HCheckMaps so far.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoConstantPoolSizeAt() should return number of Instructions instead, otherwise, some...
bmeurer@chromium.org [Thu, 29 Aug 2013 11:49:46 +0000 (11:49 +0000)]
ConstantPoolSizeAt() should return number of Instructions instead, otherwise, some of the code will be treated as constant pool when printing code in ARM disassembler.

BUG=none

TEST=none
R=bmeurer@chromium.org

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

Patch from Bangfu Tao <bangfu.tao@samsung.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoConsolidate SMI functions into one area for X64
haitao.feng@intel.com [Thu, 29 Aug 2013 11:41:14 +0000 (11:41 +0000)]
Consolidate SMI functions into one area for X64

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove deprecated profiler API
yurys@chromium.org [Thu, 29 Aug 2013 10:42:55 +0000 (10:42 +0000)]
Remove deprecated profiler API

This change removes --prof-lazy command line flag that was introduced for the old CPU profiler implementation in Chrome DevTools. DevTools now use profiler API defined in v8-profiler.h

This change also removes methods for pausing resuming --prof profiler. These methods were deprecated in v.3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8.h#4629)

After this change the profiler will always start if --prof option is passed and can be stopped either in the tests or if write to log file fails.

BUG=None
R=bmeurer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCleanup Mutex and related classes.
bmeurer@chromium.org [Thu, 29 Aug 2013 09:58:30 +0000 (09:58 +0000)]
Cleanup Mutex and related classes.

Drop the previous Mutex and ScopedLock classes from platform files.

Add new Mutex, RecursiveMutex and LockGuard classes, which are
designed after their C++11 counterparts, so that at some point
we can simply drop our custom code and switch to the C++11
classes. We distinguish regular and recursive mutexes, as the
latter don't work well with condition variables, which will be
introduced by a followup CL.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse V8_OS_* variables for platform detection in the sampler code
yurys@chromium.org [Thu, 29 Aug 2013 09:56:30 +0000 (09:56 +0000)]
Use V8_OS_* variables for platform detection in the sampler code

BUG=None
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix assert triggered by constant folding.
olivf@chromium.org [Thu, 29 Aug 2013 09:54:52 +0000 (09:54 +0000)]
Fix assert triggered by constant folding.

Add<> asserts the return type, which might not be an HAdd in this case
because of constant folding.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReland^2 "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new Elapsed...
bmeurer@chromium.org [Thu, 29 Aug 2013 09:15:13 +0000 (09:15 +0000)]
Reland^2 "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."

These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.

Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).

The previous Windows issues have been resolved, and we now use GetTickCount64()
on Windows Vista and later, falling back to timeGetTime() with rollover
protection for earlier Windows versions.

BUG=v8:2853
R=machenbach@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnable escape analysis for Hydrogen.
mstarzinger@chromium.org [Thu, 29 Aug 2013 08:39:59 +0000 (08:39 +0000)]
Enable escape analysis for Hydrogen.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.21.7.
mstarzinger@chromium.org [Thu, 29 Aug 2013 08:09:40 +0000 (08:09 +0000)]
Prepare push to trunk.  Now working on version 3.21.7.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Sync structure to r14382.
plind44@gmail.com [Thu, 29 Aug 2013 03:29:24 +0000 (03:29 +0000)]
MIPS: Sync structure to r14382.

Port r14382 (5ef0d87)

Original commit message:
ARM: VFP cleanup now that VFP2 is the baseline

BUG=none
TEST=none
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd OptimizedCodeEntry as a new heap object type. An optimized code entry represents...
titzer@chromium.org [Wed, 28 Aug 2013 16:48:40 +0000 (16:48 +0000)]
Add OptimizedCodeEntry as a new heap object type. An optimized code entry represents an association between the native context, a function, optimized code, and the literals. Such associations are needed by the deoptimizer and optimized code cache to efficiently find related optimized code and functions for a given context or shared function info.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDelete HAbnormalExit. It does more harm than good.
jkummerow@chromium.org [Wed, 28 Aug 2013 15:00:30 +0000 (15:00 +0000)]
Delete HAbnormalExit. It does more harm than good.

BUG=v8:2843
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Cross-compiling from Linux to Android requires -lrt for the host toolset...
bmeurer@chromium.org [Wed, 28 Aug 2013 14:32:08 +0000 (14:32 +0000)]
Revert "Cross-compiling from Linux to Android requires -lrt for the host toolset.", "Fix Visual Studio debug build after r16398." and "Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.""

This reverts commit r16398, r16399 and r16402 for breaking the Windows
WebKit tests. Will reland fix which doesn't use High Resolution Timer
for ElapsedTimer (we suspect QueryPerformanceCounter overhead is
responsible for test breakage).

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove obsolete Oddball setters in FixedArray.
mstarzinger@chromium.org [Wed, 28 Aug 2013 14:26:22 +0000 (14:26 +0000)]
Remove obsolete Oddball setters in FixedArray.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImplement proper map checks of captured objects.
mstarzinger@chromium.org [Wed, 28 Aug 2013 14:16:57 +0000 (14:16 +0000)]
Implement proper map checks of captured objects.

R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCross-compiling from Linux to Android requires -lrt for the host toolset.
bmeurer@chromium.org [Wed, 28 Aug 2013 14:11:07 +0000 (14:11 +0000)]
Cross-compiling from Linux to Android requires -lrt for the host toolset.

R=yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Visual Studio debug build after r16398.
bmeurer@chromium.org [Wed, 28 Aug 2013 13:36:28 +0000 (13:36 +0000)]
Fix Visual Studio debug build after r16398.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTi...
bmeurer@chromium.org [Wed, 28 Aug 2013 13:03:06 +0000 (13:03 +0000)]
Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."

These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.

Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).

BUG=v8:2853
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReuse AddFastPropertyUsingMap in AddFastProperty
verwaest@chromium.org [Wed, 28 Aug 2013 13:01:53 +0000 (13:01 +0000)]
Reuse AddFastPropertyUsingMap in AddFastProperty

R=bmeurer@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23465008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMerge verbatim descriptors from other (the descriptor of the map being updated) rathe...
verwaest@chromium.org [Wed, 28 Aug 2013 12:37:14 +0000 (12:37 +0000)]
Merge verbatim descriptors from other (the descriptor of the map being updated) rather than this (descriptors of the most updated map found in the transition tree).

BUG=v8:2863
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23676003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSimplify logic by extracting local lookup before the switch.
verwaest@chromium.org [Wed, 28 Aug 2013 12:36:46 +0000 (12:36 +0000)]
Simplify logic by extracting local lookup before the switch.

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22901034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix lost store side effects with escape analysis.
mstarzinger@chromium.org [Wed, 28 Aug 2013 12:36:32 +0000 (12:36 +0000)]
Fix lost store side effects with escape analysis.

This preserves side effects from stores in HCapturedObject markers so
that simulates following these markers are not merged away.

R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis --deopt-every-n-times [3,6,9]

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoInsert allocation memento clear instructions after the dominating allocate instruction.
hpayer@chromium.org [Wed, 28 Aug 2013 12:35:07 +0000 (12:35 +0000)]
Insert allocation memento clear instructions after the dominating allocate instruction.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReplace OS::NumberOfCores() with CPU::NumberOfProcessorsOnline().
bmeurer@chromium.org [Wed, 28 Aug 2013 12:32:56 +0000 (12:32 +0000)]
Replace OS::NumberOfCores() with CPU::NumberOfProcessorsOnline().

The name NumberOfCores is misleading, as it does not return the
actual number of cores. While NumberOfProcessorsOnline is also
not a great name, it's at least consistent with the operating
system terminology.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTi...
bmeurer@chromium.org [Wed, 28 Aug 2013 11:38:20 +0000 (11:38 +0000)]
Revert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."

This reverts commit r16390 for breaking the Windows build. Will
reland fixed version, which also uses the platform/ folder instead
of time/ folder as per offline discussion.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer...
bmeurer@chromium.org [Wed, 28 Aug 2013 11:06:11 +0000 (11:06 +0000)]
Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.

These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.

Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).

BUG=v8:2853
R=machenbach@chromium.org, yurys@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=16388

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTi...
bmeurer@chromium.org [Wed, 28 Aug 2013 11:04:40 +0000 (11:04 +0000)]
Revert "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."

This reverts commit r16388 for breaking build due to merge typo,
will reland with typo fixed.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer...
bmeurer@chromium.org [Wed, 28 Aug 2013 10:59:07 +0000 (10:59 +0000)]
Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class.

These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(),
which are broken in several ways. The ElapsedTimer class implements a
stopwatch using TimeTicks::HighResNow() for high resolution, monotonic
timing.

Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime()
methods to actually return the time relative to the unix epoch as stated
in the documentation (previously that was relative to some arbitrary
point in time, i.e. boot time).

BUG=v8:2853
R=machenbach@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMark cpu profiler tests as flaky to avoid tree closing.
machenbach@chromium.org [Wed, 28 Aug 2013 10:50:42 +0000 (10:50 +0000)]
Mark cpu profiler tests as flaky to avoid tree closing.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix accidential inclusion of <intrin.h> into namespace v8::internal.
bmeurer@chromium.org [Wed, 28 Aug 2013 09:53:13 +0000 (09:53 +0000)]
Fix accidential inclusion of <intrin.h> into namespace v8::internal.

Also cleanup the fallback __cpuid() implementation, and add
a comment about preserving the GOT pointer in case of PIC.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDrop unused and undocumented dummy_ from SaveContext.
bmeurer@chromium.org [Wed, 28 Aug 2013 09:40:47 +0000 (09:40 +0000)]
Drop unused and undocumented dummy_ from SaveContext.

Also remove the obsolte __GNUC_VERSION__ #define.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.21.6.
verwaest@chromium.org [Wed, 28 Aug 2013 08:40:30 +0000 (08:40 +0000)]
Prepare push to trunk.  Now working on version 3.21.6.

R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/23494008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoClear next map word when folding allocations into js arrays.
hpayer@chromium.org [Wed, 28 Aug 2013 08:39:43 +0000 (08:39 +0000)]
Clear next map word when folding allocations into js arrays.

BUG=
R=mstarzinger@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix compilation with recent MinGW64 versions.
bmeurer@chromium.org [Wed, 28 Aug 2013 08:35:04 +0000 (08:35 +0000)]
Fix compilation with recent MinGW64 versions.

Don't check for WIN32 define. Use V8_OS_* macros whenever
possible, and if not use _WIN32.

BUG=v8:2300
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove deprecated methods from debugger API
yurys@chromium.org [Wed, 28 Aug 2013 07:11:37 +0000 (07:11 +0000)]
Remove deprecated methods from debugger API

Deleting SetDebugEventListener and SetMessageHandler from v8::Debug. this methods were deprecated in 3.20
https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-debug.h but in fact they have been superseded by SetDebugEventListener2 and SetMessageHandler2 long ago.

BUG=None
R=bmeurer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCosmetic fix wrt to V8_INLINE usage in cpu.cc.
bmeurer@chromium.org [Wed, 28 Aug 2013 07:08:32 +0000 (07:08 +0000)]
Cosmetic fix wrt to V8_INLINE usage in cpu.cc.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Fix return-value from Array.push stub when pushing non-SMI value
plind44@gmail.com [Wed, 28 Aug 2013 05:23:51 +0000 (05:23 +0000)]
MIPS: Fix return-value from Array.push stub when pushing non-SMI value

Load and update the arrays length in v0 to make sure the length gets
returned correctly when leaving the function.

Add new testcase.

TEST=mjsunit/array-push-non-smi-value

BUG=130022
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from fs <fs@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIntroduce PushInt64AsTwoSmis and PopInt64AsTwoSmis macro instructions for X64
haitao.feng@intel.com [Wed, 28 Aug 2013 01:07:31 +0000 (01:07 +0000)]
Introduce PushInt64AsTwoSmis and PopInt64AsTwoSmis macro instructions for X64

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Eliminate Smi check when changing from Smi to Integer32
palfia@homejinni.com [Tue, 27 Aug 2013 23:07:03 +0000 (23:07 +0000)]
MIPS: Eliminate Smi check when changing from Smi to Integer32

Port r16362 (6dd68a5c)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Eliminate intentional conversion from Smi to Int32 in HMul
palfia@homejinni.com [Tue, 27 Aug 2013 23:05:07 +0000 (23:05 +0000)]
MIPS: Eliminate intentional conversion from Smi to Int32 in HMul

Port r16361 (b41ab14c)

Original commit message:
If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check

Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi

Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: cleanup api callbacks now that handles are never returned directly
palfia@homejinni.com [Tue, 27 Aug 2013 23:02:35 +0000 (23:02 +0000)]
MIPS: cleanup api callbacks now that handles are never returned directly

Port r16360 (72401868)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Fix Cluster Fuzz stack frame corruption bug.
palfia@homejinni.com [Tue, 27 Aug 2013 22:55:30 +0000 (22:55 +0000)]
MIPS: Fix Cluster Fuzz stack frame corruption bug.

Port r16358 (a8a679b9)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Convert FastNewClosureStub into hydrogen.
palfia@homejinni.com [Tue, 27 Aug 2013 22:53:25 +0000 (22:53 +0000)]
MIPS: Convert FastNewClosureStub into hydrogen.

Port r16356 (0a0ea300)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: remove old style callbacks
palfia@homejinni.com [Tue, 27 Aug 2013 22:51:37 +0000 (22:51 +0000)]
MIPS: remove old style callbacks

Port r16354 (559bc02d)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove implementation of CpuProfileNode methods deprecated in v8 3.20
yurys@chromium.org [Tue, 27 Aug 2013 15:12:04 +0000 (15:12 +0000)]
Remove implementation of CpuProfileNode methods deprecated in v8 3.20

GetTotalTime, GetSelfTime and GetTotalSamplesCount were deprecated in 3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-profiler.h) and can be safely removed.

BUG=None
R=bmeurer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix definition of V8_*_C() macros.
bmeurer@chromium.org [Tue, 27 Aug 2013 14:16:34 +0000 (14:16 +0000)]
Fix definition of V8_*_C() macros.

Make V8_INT64_C() and V8_UINT64_C() available in 32-bit mode as well,
so we can write readable constants (base 10) instead of having to
obfuscate them using V8_2PART_UINT64_C().

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIntroduce SmiValuesAre31Bits and SmiValuesAre32Bits global predicate functions
haitao.feng@intel.com [Tue, 27 Aug 2013 14:13:40 +0000 (14:13 +0000)]
Introduce SmiValuesAre31Bits and SmiValuesAre32Bits global predicate functions

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFixed HMul::Canonicalize() to support SMI
jkummerow@chromium.org [Tue, 27 Aug 2013 14:09:26 +0000 (14:09 +0000)]
Fixed HMul::Canonicalize() to support SMI

Same idea for HDiv when the right oeprand is 1

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDrop platform-nullos stuff, which was already horribly out-of-date for a long time.
bmeurer@chromium.org [Tue, 27 Aug 2013 14:04:49 +0000 (14:04 +0000)]
Drop platform-nullos stuff, which was already horribly out-of-date for a long time.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEliminate Smi check when changing from Smi to Integer32
verwaest@chromium.org [Tue, 27 Aug 2013 14:02:08 +0000 (14:02 +0000)]
Eliminate Smi check when changing from Smi to Integer32

BUG=
R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22824003

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEliminate intentional conversion from Smi to Int32 in HMul
verwaest@chromium.org [Tue, 27 Aug 2013 13:55:00 +0000 (13:55 +0000)]
Eliminate intentional conversion from Smi to Int32 in HMul

If not all uses of arithmetic binary operation can be truncated to Smi, check if they can be truncated to Int32 which could avoid minus zero check

Fixed DoMulI on X64 to adopt correct operand size when the representation is Smi

Fixed DoMulI on ARM. Constant right operand optimization is based on Integer 32 instead of its representation.

BUG=
R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22600005

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agocleanup api callbacks now that handles are never returned directly
dcarney@chromium.org [Tue, 27 Aug 2013 13:41:44 +0000 (13:41 +0000)]
cleanup api callbacks now that handles are never returned directly

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEliminated manual allocation folding in BuildCloneShallowArray.
hpayer@chromium.org [Tue, 27 Aug 2013 13:39:52 +0000 (13:39 +0000)]
Eliminated manual allocation folding in BuildCloneShallowArray.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix Cluster Fuzz stack frame corruption bug.
hpayer@chromium.org [Tue, 27 Aug 2013 13:31:15 +0000 (13:31 +0000)]
Fix Cluster Fuzz stack frame corruption bug.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrefill allocated objects with one word fillers if we do not use allocation folding.
hpayer@chromium.org [Tue, 27 Aug 2013 12:03:56 +0000 (12:03 +0000)]
Prefill allocated objects with one word fillers if we do not use allocation folding.

BUG=
R=mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoConvert FastNewClosureStub into hydrogen.
mvstanton@chromium.org [Tue, 27 Aug 2013 11:55:08 +0000 (11:55 +0000)]
Convert FastNewClosureStub into hydrogen.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFiller sizes have to be Smis, fix x64 breakage.
hpayer@chromium.org [Tue, 27 Aug 2013 11:51:03 +0000 (11:51 +0000)]
Filler sizes have to be Smis, fix x64 breakage.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00