platform/upstream/v8.git
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

11 years agoremove old style callbacks
dcarney@chromium.org [Tue, 27 Aug 2013 11:47:52 +0000 (11:47 +0000)]
remove old style callbacks

R=svenpanne@chromium.org
BUG=

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

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

11 years agoH-BuildIncrement should make use of available type feedback
jkummerow@chromium.org [Tue, 27 Aug 2013 11:44:45 +0000 (11:44 +0000)]
H-BuildIncrement should make use of available type feedback

R=verwaest@chromium.org

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

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

11 years agoAdd correct test case to nacl skip list.
machenbach@chromium.org [Tue, 27 Aug 2013 10:04:19 +0000 (10:04 +0000)]
Add correct test case to nacl skip list.

TBR=bmeurer@chromium.org

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

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

11 years agoAdd V8_NOINLINE() and define INLINE()/NO_INLINE() in terms of their V8_*() counterparts.
bmeurer@chromium.org [Tue, 27 Aug 2013 09:21:16 +0000 (09:21 +0000)]
Add V8_NOINLINE() and define INLINE()/NO_INLINE() in terms of their V8_*() counterparts.

R=jkummerow@chromium.org

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

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

11 years agoFix --trace-hydrogen --enable-slow-asserts combination.
mstarzinger@chromium.org [Tue, 27 Aug 2013 08:49:27 +0000 (08:49 +0000)]
Fix --trace-hydrogen --enable-slow-asserts combination.

R=jkummerow@chromium.org

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

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

11 years agoMinor cleanups, hopefully fixing an issue with VC's /Ze option on the way.
svenpanne@chromium.org [Tue, 27 Aug 2013 08:47:05 +0000 (08:47 +0000)]
Minor cleanups, hopefully fixing an issue with VC's /Ze option on the way.

BUG=2859
R=titzer@chromium.org

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

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

11 years agoSkip failing test for NaCl.
machenbach@chromium.org [Tue, 27 Aug 2013 08:29:31 +0000 (08:29 +0000)]
Skip failing test for NaCl.

The test was added in 16322 and fails on NaCl ever since.

R=bmeurer@chromium.org

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

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

11 years agoFix test for warn_unused_result and move it to v8config.h.
bmeurer@chromium.org [Tue, 27 Aug 2013 08:27:42 +0000 (08:27 +0000)]
Fix test for warn_unused_result and move it to v8config.h.

R=mstarzinger@chromium.org

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

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

11 years agoAdded allocation folding support for old space allocations.
hpayer@chromium.org [Tue, 27 Aug 2013 07:42:23 +0000 (07:42 +0000)]
Added allocation folding support for old space allocations.

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

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

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

11 years agoIntroduce StackArgumentsAccessor class for X64
haitao.feng@intel.com [Tue, 27 Aug 2013 01:21:39 +0000 (01:21 +0000)]
Introduce StackArgumentsAccessor class for X64

R=danno@chromium.org

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

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

11 years agoRevert "This patch implements optimized objectInfo structure which manages the set...
adamk@chromium.org [Mon, 26 Aug 2013 22:45:10 +0000 (22:45 +0000)]
Revert "This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept."

This reverts r16343 due to mjsunit object-observe failures on several bots:
  - V8 Linux nosse2
  - V8 GC stress 2

TBR=rossberg

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

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

11 years agoThis patch implements optimized objectInfo structure which manages the set of observe...
adamk@chromium.org [Mon, 26 Aug 2013 21:37:21 +0000 (21:37 +0000)]
This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept.

Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster.

This patch implements the following optimizations:

-objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration.

-observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g:   https://codereview.chromium.org/19269007/).

-objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default

R=rossberg@chromium.org

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

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

11 years agoMIPS: Add a trap_on_abort flag.
palfia@homejinni.com [Mon, 26 Aug 2013 20:29:54 +0000 (20:29 +0000)]
MIPS: Add a trap_on_abort flag.

Port r16319 (22e0380)

Original commit message:
By setting this flag assertions behind --debug-code will trigger a
breakpoint instead of a call into Abort. This eases debugging, as the
call site is less cluttered and the backtrace starts where it should.

BUG=

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

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

11 years agoAdd RemovePrototype to FunctionTemplate
mstarzinger@chromium.org [Mon, 26 Aug 2013 17:40:03 +0000 (17:40 +0000)]
Add RemovePrototype to FunctionTemplate

This allows functions created from a FunctionTemplate to not have a
prototype property, which is required by DOM methods.

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

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

Patch from Erik Arvidsson <arv@chromium.org>.

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

11 years agoFactor out HSimulate::ReplayEnvironment.
mstarzinger@chromium.org [Mon, 26 Aug 2013 17:30:41 +0000 (17:30 +0000)]
Factor out HSimulate::ReplayEnvironment.

R=titzer@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.21.5.
jkummerow@chromium.org [Mon, 26 Aug 2013 17:11:27 +0000 (17:11 +0000)]
Prepare push to trunk.  Now working on version 3.21.5.

R=hpayer@chromium.org

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

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

11 years agoRevert "Snapshot i18n Javascript code" and "Fix mjsunit/debug-script after r16298".
jkummerow@chromium.org [Mon, 26 Aug 2013 17:00:58 +0000 (17:00 +0000)]
Revert "Snapshot i18n Javascript code" and "Fix mjsunit/debug-script after r16298".

This reverts r16298 and r16303 due to ChromeOS browser_tests failures ("Uncaught ReferenceError: Boolean is not defined" in --gtest_filter="FileDisplay/FileManagerBrowserTest.Test/0" and others)

R=mstarzinger@chromium.org

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

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

11 years agoSmaller instruction to test negative number on ia32
jkummerow@chromium.org [Mon, 26 Aug 2013 16:48:23 +0000 (16:48 +0000)]
Smaller instruction to test negative number on ia32

BUG=
R=jkummerow@chromium.org

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

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

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

11 years agoFix replaying of captured objects during chunk building.
mstarzinger@chromium.org [Mon, 26 Aug 2013 16:43:19 +0000 (16:43 +0000)]
Fix replaying of captured objects during chunk building.

R=titzer@chromium.org

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

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

11 years agoGet rid of ConvertFieldToDescriptor.
verwaest@chromium.org [Mon, 26 Aug 2013 15:30:30 +0000 (15:30 +0000)]
Get rid of ConvertFieldToDescriptor.
This CL additionally fixes up the attributes for FIELD and CONSTANT in SetLocalPropertyIgnoreAttributes.

R=rossberg@chromium.org

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

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

11 years agoMark test-log/EquivalenceOfLoggingAndTraversal as flaky
yurys@chromium.org [Mon, 26 Aug 2013 15:26:40 +0000 (15:26 +0000)]
Mark test-log/EquivalenceOfLoggingAndTraversal as flaky

It was marked as flaky before r16296 where it was skipped because of crashed. The crash is fixed but the test stil flakes.

BUG=v8:2857
TBR=yangguo@chromium.org

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

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

11 years agoFix test-log/EquivalenceOfLoggingAndTraversal
yurys@chromium.org [Mon, 26 Aug 2013 14:56:23 +0000 (14:56 +0000)]
Fix test-log/EquivalenceOfLoggingAndTraversal

The test has been marked as intermittently failing since 2011 and since that "code-creation" event signature has changed a bit. I updated the parser in the test but that revealed another issue: "code-creation" events with type 'Script' didn't match functions with type 'LazyCompile' retrieved during the heap traversal because the later had name " :1:1" which didn't match the script's name.

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

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

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

11 years agoMake sure semaphore used in Profiler is deleted
yurys@chromium.org [Mon, 26 Aug 2013 14:52:26 +0000 (14:52 +0000)]
Make sure semaphore used in Profiler is deleted

BUG=None
R=jkummerow@chromium.org

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

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

11 years agoPort CompileMathFloorCall from ia32 to x64
yangguo@chromium.org [Mon, 26 Aug 2013 14:51:51 +0000 (14:51 +0000)]
Port CompileMathFloorCall from ia32 to x64

BUG=
R=yangguo@chromium.org

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

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

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