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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
yangguo@chromium.org [Mon, 26 Aug 2013 14:50:12 +0000 (14:50 +0000)]
Remove flag aliases for parallel recompilation.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23125027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 13:37:01 +0000 (13:37 +0000)]
Fix NaCl build after r16322.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
22887053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 26 Aug 2013 13:04:05 +0000 (13:04 +0000)]
Lower kInitialMaxFastElementArray constant to 95K
to work around erroneous "illegal access" error on x64.
BUG=v8:2790
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
22877039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 26 Aug 2013 12:28:08 +0000 (12:28 +0000)]
Store mode for keyed stores should be passed in from type feedback
regardless of the map used in polymorphic stores.
BUG=
R=jkummerow@chromium.org, verwaest@chromium.org
Review URL: https://codereview.chromium.org/
21058003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 12:24:03 +0000 (12:24 +0000)]
Arm support for DoubleToIStub (truncating).
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=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
23129003
Patch from Ross McIlroy <rmcilroy@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 26 Aug 2013 11:59:14 +0000 (11:59 +0000)]
js accessor creation on Template
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
22903012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 26 Aug 2013 11:53:29 +0000 (11:53 +0000)]
Use signals for cpu profiling on Mac OS X
A while ago in r2315 Mac OS X cpu profiler implementation was changed to pause sampled thread instead of sending SIGPROF signal. That was done because at that point profiler send the signal to the whole process and it was handled on a random thread. Now that signal-based implementation uses pthread_kill it may well be used on Mac OS X too.
BUG=v8:2814
R=bmeurer@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23115005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Mon, 26 Aug 2013 11:22:39 +0000 (11:22 +0000)]
Add a trap_on_abort flag
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=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23352004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 11:18:28 +0000 (11:18 +0000)]
Add V8_ALIGNAS() and V8_ALIGNOF() and use that in lazy-instance.h.
This renames the existing V8_ALIGNAS() to V8_ALIGNED(), and introduces
V8_ALIGNAS(type, alignment) which aligns according to the type and falls
back to aligning according to alignment.
Also use __attribute__((aligned(n))) instead of __attribute__((__aligned__(n))).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
22999052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 26 Aug 2013 10:11:43 +0000 (10:11 +0000)]
fix 16316 debug check
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
22831050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 26 Aug 2013 09:41:22 +0000 (09:41 +0000)]
abstract eternal into class
R=rossberg@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
22795004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 09:37:39 +0000 (09:37 +0000)]
Fix the CPU feature detection.
Move all of the CPU detection logic to the CPU class, and make
all other code use the CPU class for feature detection.
This also fixes the ARM CPU feature detection logic, which was
based on fragile string search in /proc/cpuinfo. Now we use
ELF hwcaps if available, falling back to sane(!!) parsing of
/proc/cpuinfo for CPU features.
The ia32 and x64 code was also cleaned up to make it usable
outside the assembler.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23401002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 08:17:38 +0000 (08:17 +0000)]
Further cleanup of test for V8_INFINITY.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23202017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 08:12:08 +0000 (08:12 +0000)]
Revert "Add V8_ALIGNOF() and use that in lazy-instance.h."
This reverts commit r16311 for breaking build with certain compilers.
Will reland once sorted out.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
22979004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 26 Aug 2013 08:10:10 +0000 (08:10 +0000)]
Deprecate CpuProfileNode::GetSelfSamplesCount
This method is being replaced by GetHitCount.
BUG=267595
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
22295009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 26 Aug 2013 08:06:15 +0000 (08:06 +0000)]
Add V8_ALIGNOF() and use that in lazy-instance.h.
Also fix the inconsistent attribute naming, and make V8_GNUC_PREREQ() test work for GCC compatible compilers.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
22888008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 26 Aug 2013 07:17:12 +0000 (07:17 +0000)]
Support higher CPU profiler sampling rate on posix systems
New flag is added that allows to specify CPU profiler sampling rate in microseconds as command line argument. It was tested to work fine with 100us interval(currently it is 1ms). Default values are kept the same as in the current implementation. The new implementation is enabled only on POSIX platforms which use signals to collect samples. Other platforms that pause thread being sampled are to follow.
SIGPROF signals are now sent on the profiler event processor thread to make sure that the processing thread does fall far behind the sampling.
The patch is based on the previous one that was rolled out in r13851. The main difference is that the circular queue is not modified for now.
On Linux sampling for CPU profiler is initiated on the profiler event processor thread, other platforms to follow.
CPU profiler continues to use SamplingCircularQueue, we will probably replace it with a single sample buffer when Mac and Win ports support profiling on the event processing thread.
When --prof option is specified profiling is initiated either on the profiler event processor thread if CPU profiler is on or on the SignalSender thread as it used to be if no CPU profiles are being collected.
ProfilerEventsProcessor::ProcessEventsAndDoSample now waits in a tight loop, processing collected samples until sampling interval expires. To save CPU resources I'm planning to change that to use nanosleep as only one sample is expected in the queue at any point.
BUG=v8:2814
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
21101002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Sat, 24 Aug 2013 16:58:32 +0000 (16:58 +0000)]
Workaround 'inlining failed' build error with older GCC 4.x releases.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
22867047
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 23 Aug 2013 17:55:22 +0000 (17:55 +0000)]
Replace mapcheck dependency on HStoreNamedField with object.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
23402005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Aug 2013 17:20:54 +0000 (17:20 +0000)]
Add source map support to tick processor.
Added a console parameter for source map to the tick processor.
The tickprocesspor reads in the source maps and uses it to output the original filename, line number and column in the profile.
Modified d8 to output column numbers into the log, since this is needed to do source mapping.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
22897021
Patch from Daniel Kurka <dankurka@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 23 Aug 2013 16:31:31 +0000 (16:31 +0000)]
Fix dependency of loading the heap-number for a double-field store to be the mapcheck.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
22926027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 Aug 2013 13:45:24 +0000 (13:45 +0000)]
Fix mjsunit/debug-script after r16298
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
23102015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Aug 2013 13:30:02 +0000 (13:30 +0000)]
Add --trace-hydrogen-filter flag.
The flag restricts hydrogen.cfg output to functions passing the filter,
similar to what --hydrogen-filter does for optimization in general.
This is useful for investigating large repro cases where tracing all
functions would lead to an impractically large hydrogen.cfg file, but
restricting optimization using --hydrogen-filter is undesirable
(e.g. because it might cause the issue to no longer reproduce).
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
22926025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Aug 2013 13:27:24 +0000 (13:27 +0000)]
Prepare push to trunk. Now working on version 3.21.4.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
23232008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 Aug 2013 13:24:48 +0000 (13:24 +0000)]
Snapshot i18n Javascript code
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23304005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 23 Aug 2013 13:21:01 +0000 (13:21 +0000)]
Revert "Get rid of ConvertFieldToDescriptor and simplify related code."
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
22999048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 Aug 2013 13:16:10 +0000 (13:16 +0000)]
Skip test-log/EquivalenceOfLoggingAndTraversal
Note that the test crashes if it fails, so the PASS || FAIL annotation
doesn't work.
BUG=v8:2857
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
22903039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 23 Aug 2013 11:52:59 +0000 (11:52 +0000)]
Get rid of ConvertFieldToDescriptor and simplify related code.
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
22861025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16295
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 Aug 2013 11:51:34 +0000 (11:51 +0000)]
Add comment about avoiding VS runtime support to OS::DebugBreak.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
23090004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 Aug 2013 11:43:30 +0000 (11:43 +0000)]
Get rid of duplicated CPU::DebugBreak() method.
We already have OS::DebugBreak(), which does the right thing.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
22893050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 23 Aug 2013 11:31:18 +0000 (11:31 +0000)]
Temporarily disable optimization for StringWrappers to use native valueOf
V8 stores this information directly in the map of the wrapper, however,
it is not invalidated when the prototype of the wrapper is changed, so
once the bit is set, it is no longer possible to override valueOf.
This bug is currently hidden in Chrome since the i18n extension always
modifies the String.prototype, and so the optimization never kicks in.
Disabling the optimization temporarily allows for snapshotting i18n now.
BUG=v8:2855
R=yangguo@chromium.org
TEST=mjsunit/regress/regress-2855.js
Review URL: https://codereview.chromium.org/
23060030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 Aug 2013 11:10:03 +0000 (11:10 +0000)]
Remove hacks for GC stress builders from cctests.
R=machenbach@chromium.org
BUG=cctest
Review URL: https://codereview.chromium.org/
22861037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Aug 2013 11:06:49 +0000 (11:06 +0000)]
Delete dead FloatingPointHelper functions
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
22914034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 Aug 2013 11:06:16 +0000 (11:06 +0000)]
Fix crash due RegExpAtom method called on RegExpCharacterClass object.
In the RegExpUnparser::VisitText(RegExpText* that, void* data) function always RegExpUnparser::VisitAtom function called via that->elements()->at(i).data.u_atom->Accept(this, data); even if the type of the object is RegExpCharacterClass.
The problem shows using g++ 4.7(.2, .3) since r16232, since GCC optimizes virtual method calls to direct calls based on __final/final hints. Tested on MIPS and x64:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000588928 in v8::internal::RegExpUnparser::VisitAtom(v8::internal::RegExpAtom*, void*) ()
This cleans up the TextElement class to avoid the unsafe+unchecked union access, that caused the crash.
TEST=cctest/test-regexp/ParserRegression
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
22815033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 23 Aug 2013 11:04:25 +0000 (11:04 +0000)]
Cleanup and speedup MarkCompactCollector test case.
R=bmeurer@chromium.org
TEST=cctest/test-mark-compact/MarkCompactCollector
Review URL: https://codereview.chromium.org/
23112026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 23 Aug 2013 10:59:29 +0000 (10:59 +0000)]
Fix crashes of some CPU profiler tests on Windows after r16284
All the tests that started crashing create ProfilerEventsProcessor on the stack. After r16284 SamplingCircularQueue buffer is allocated as a field of the queue instead of separate heap object. This increased self size of ProfilerEventsProcessor by about 1Mb. Windows malloc fails to allocate such an object on the stack and crashes.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23093022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Aug 2013 09:25:37 +0000 (09:25 +0000)]
Fix scoping of function declarations in eval inside non-trivial local scope
R=mstarzinger@chromium.org
BUG=v8:2594
Review URL: https://codereview.chromium.org/
22901010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 23 Aug 2013 08:43:57 +0000 (08:43 +0000)]
Fix compilation on Windows after r16284
BUG=None
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
23361023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 23 Aug 2013 08:22:07 +0000 (08:22 +0000)]
Rewrite SamplingCircularQueue
The new implementation:
* uses MemoryBarriers to make sure up-to-date data is accessed on both producer and consumer threads
* will not allow to overwrite records
* doesn't have notion of chunks, instead each entry is aligned on the cache line boundaries
BUG=v8:2814
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
22849002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Aug 2013 08:17:54 +0000 (08:17 +0000)]
grokdump: fix Oddball printing
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
22852021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 23 Aug 2013 08:11:12 +0000 (08:11 +0000)]
Clean up the redundant Int32Constant check which is covered by double case
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
22815032
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 23 Aug 2013 07:32:25 +0000 (07:32 +0000)]
Move OS/compiler/feature detection to public v8config.h header.
From now on the v8config.h header should be the one and
only file where we do (freaky) checks to detect OS, C++
compiler or certain compiler features. Since we need that
both internally and for the public API, the new v8config.h
is the proper place to add (everything is prefixed with V8_
so we are safe).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
23248006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00