Commit Graph

2290 Commits

Author SHA1 Message Date
svenpanne@chromium.org
3c9a322eaa Do not rely on actual NaN value for testing extractps.
BUG=cctest/test-assembler-ia32/AssemblerIa32Extractps, cctest/test-assembler-x64/AssemblerX64Extractps
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 14:04:49 +00:00
svenpanne@chromium.org
258cee8f72 Fixed bug in extractps instruction on ia32 and x64
This is a fixed version of https://codereview.chromium.org/27097002/
which was originally written by weiliang.lin@intel.com.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 12:51:58 +00:00
yangguo@chromium.org
cf2aea3ea1 Disable RegExpInterruption test for interpreted irregexp.
Interrupts are not currently supported by interpreted irregexp.

R=mvstanton@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 08:59:26 +00:00
yangguo@chromium.org
c9eeedf342 Fix regexp interrupt test.
R=jochen@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 08:06:01 +00:00
ulan@chromium.org
83c63cf555 Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
Second stage of implementing an out-of-line constant pool on Arm.  This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools.  Nothing uses this object yet.

BUG=
R=ulan@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:35:06 +00:00
mstarzinger@chromium.org
00125f43f0 Remove deprecated v8::preparser namespace.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:07:20 +00:00
yurys@chromium.org
15db1d7c3a Track JS allocations as they arrive with no affection on performance when tracking is switched off.
BUG=277984
R=hpayer@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 12:41:28 +00:00
rossberg@chromium.org
814fe1f5cb Reenable 17167: "Ensure lower <= upper bound"
Fixed handlification bug (see 2nd patch).

Will handlify Type::Union and Type::Intersect in separate CL.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 12:14:42 +00:00
rossberg@chromium.org
19d716989e Unify handling of position info in AST, part 1
* AstNode now has a position info.
* Removed various ad-hoc position infos from subclasses (most of which had it).
* Position is always set with the constructor, instead of later.
* Take care to use kNoPosition in the right spots, to not crash the debugger.

Still to do:

* Eliminate Conditional::then/else_position and WhileStatement::condition_position.
* Make CaseClause a proper AstNode and eliminate its custom position.
* If possible, eliminate all uses of kNoPosition.

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 09:24:58 +00:00
danno@chromium.org
f55fc759dc Revert 17167: "Ensure lower <= upper bound"
Due to crashes in nosnap ia32

TBR=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 16:41:34 +00:00
rossberg@chromium.org
68cc8da20c Ensure lower <= upper bound
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 15:17:58 +00:00
rossberg@chromium.org
b9d639cd9d Minor tweaks to types cctest
R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:59:01 +00:00
bmeurer@chromium.org
2c631933d5 Load/Store cannot handle double representation.
Assert that the representation for Load/Store in the X64 MacroAssembler
is never Double. Also add missing test case for the Load/Store macros.

TEST=cctest/test-macro-assembler-x64
R=mvstanton@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 07:12:06 +00:00
yurys@chromium.org
344d836d0f Add column getter to CpuProfileNode
CpuProfileNode currently exposes only line number which is not enough for the cases when there is more than one function on the same line. This change exposes column number on CpuProfileNode.

BUG=302537
R=jkummerow@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 13:15:47 +00:00
yurys@chromium.org
3228e953f9 Unflake cctest/test-cpu-profiler/JsNativeJsRuntimeJsSample on Win32 Debug
Profiler is now started from JavaScript. Since we always capture stack trace when starting profiler there should always be at least one expected sample in the profile.

Also changed ProfilerEventsProcessor::AddCurrentStack to make sure it call TickSample::Init to instead of custom initialization code.

BUG=v8:2920
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 13:03:41 +00:00
rossberg@chromium.org
3c01f30e3f Revert "Load/Store cannot handle double representation."
This reverts r17135 -- test crashes on x64.

TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 12:28:52 +00:00
bmeurer@chromium.org
ef8dc50e55 Load/Store cannot handle double representation.
Assert that the representation for Load/Store in the X64 MacroAssembler
is never Double. Also add missing test case for the Load/Store macros.

TEST=cctest/test-macro-assembler-x64
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 11:42:00 +00:00
bmeurer@chromium.org
a9d8970bf6 Fix SmiMove unit test.
TEST=cctest/test-macro-assembler-x64.cc
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:21:31 +00:00
adamk@chromium.org
e5f2d0f7bd Avoid allocations in Object.observe access check tests
BUG=v8:2907
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:06:20 +00:00
bmeurer@chromium.org
81e4550796 Always use timeGetTime() for TimeTicks::Now() on Windows.
This way, we also ensure that timeGetTime() is used for Time::Now(),
and thereby Date.now() even if GetTickCount64() is available.

Also add test coverage for Time::Now(), TimeTicks::Now() and
TimeTicks::HighResNow().

BUG=chromium:288924
TEST=cctest/test-timer
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:30:31 +00:00
haitao.feng@intel.com
7fc8679c4e Tweak SmiAdd for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:46:01 +00:00
yurys@chromium.org
b3c440f8da Fix threading problems in test-api when running on simulator
Sampler can retrieve current simulator for profiled isolate from its ThreadLocalTop without calls to Isolate::FindPerThreadDataForThread which sometimes leads to acquring same mutex second time.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 13:54:53 +00:00
dcarney@chromium.org
7fae9959e9 remove Isolate::Current from ScriptData and Script
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:56:04 +00:00
mstarzinger@chromium.org
191bcf20cc Limit entry points into the parser API.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:27:03 +00:00
dcarney@chromium.org
6dd72b6416 change of V8_DEPRECATED to be enabled behind a gyp flag
also add a deprecation message for newer gcc versions

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:28:23 +00:00
mstarzinger@chromium.org
f03dbcff94 Function::Call and Object::CallAsFunction APIs should allow v8::Value as a receiver
Since the primitive values can be a receiver of strict mode functions in
ECMA262 5.1th, v8::Function::Call and Object::CallAsFunction should take
v8::Value as a receiver instead of v8::Object.

BUG=v8:2915
TEST=cctest/test-api
R=mstarzinger@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:47:36 +00:00
dcarney@chromium.org
b81c581b38 make v8::Locker not use Isolate::GetCurrent()
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 11:32:13 +00:00
dcarney@chromium.org
7fcd0f395e remove Local::New with no isolate parameter
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 07:04:02 +00:00
titzer@chromium.org
d441160cab Implement local check elimination on basic blocks.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 16:25:57 +00:00
dcarney@chromium.org
47e32d0339 Add EscapableHandleScope to api to fix problems with HandleScope::Close
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 13:46:37 +00:00
dcarney@chromium.org
6245d34b95 build fix for 16957
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 08:47:59 +00:00
dcarney@chromium.org
7bad4ba648 remove uses of static oddball accessors using GetCurrent in advance of removal from api
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 08:21:48 +00:00
dcarney@chromium.org
2efd6aa179 add isolate parameter to ThrowException
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 07:37:59 +00:00
verwaest@chromium.org
d0e12549ed Reset IC to premonomorphic rather than uninitialized.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 09:25:39 +00:00
mstarzinger@chromium.org
45ab50673e Expose SameValue equality comparison algorithm
Since SameValue algorithm is defined formally in ECMA262 and V8 already
exported Equals and StrictEquals algorithms, SameValue should be exposed.
And in this issue, we fix the issue of Object::SameValue implementation,
SameValue(0.0, -0.0) returnes true.

BUG=v8:2909
TEST=cctest/test-api/Equality
R=mstarzinger@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 16:51:43 +00:00
jkummerow@chromium.org
e7130a1e2b Migrate to new test status file syntax
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 12:08:33 +00:00
mstarzinger@chromium.org
1e142f0e00 Correctly check for AllowHeapAllocation::IsAllowed().
R=adamk@chromium.org, hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 11:19:37 +00:00
palfia@homejinni.com
2ad4ad92ea MIPS: Fixed a bug in CopyBytes() and new test cases for MIPS macro assembler.
Port r16873 (c2880bc)

BUG=
TEST=cctest/test-macro-assembler-mips
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 19:38:54 +00:00
dcarney@chromium.org
9a62b1dab7 move CopyablePersistentTraits to v8.h
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 11:27:07 +00:00
dcarney@chromium.org
86a2e4849a remove Isolate::GetCurrent from Context api functions
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 11:25:52 +00:00
bmeurer@chromium.org
eac59b81ff Fixed a bug in CopyBytes() and new test cases for ARM macro assembler
TEST=cctest/test-macro-assembler-arm
R=bmeurer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 08:06:58 +00:00
mstarzinger@chromium.org
e59cf6214d Test that we can bootstrap into the first page of each space.
R=olivf@chromium.org
TEST=cctest/test-spaces/SizeOfFirstPageIsLargeEnough

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 12:18:17 +00:00
dcarney@chromium.org
de39d37d5d build fix for 16858
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 11:29:20 +00:00
dcarney@chromium.org
545728334a remove remaining uses of default isolate in tests
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 10:52:20 +00:00
mstarzinger@chromium.org
b4f120eadd Prevent test-log.cc from creating log files.
R=dcarney@chromium.org
TEST=cctest/test-log/EquivalenceOfLoggingAndTraversal

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 08:49:33 +00:00
titzer@chromium.org
e1ebbcbb02 Use Unique<Map> in CompareMap.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 17:02:57 +00:00
dcarney@chromium.org
4aabca0dfd stop writing isolate-* files
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 15:06:20 +00:00
dcarney@chromium.org
e0ecb1a14b cleanup cctest generally and remove ctest::context
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 13:30:47 +00:00
jochen@chromium.org
c91189fc0f Collect garbage before serializing heap in test-serialize
BUG=none
TEST=nosnap bots with i18n enabled are happy
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 12:06:27 +00:00
jochen@chromium.org
01a2904fda Initialize ICU when running cctests.
This is required on Windows to load the ICU data tables.

BUG=none
R=machenbach@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 12:00:15 +00:00
dcarney@chromium.org
c8c6cfe5fa remove GetCurrent from LocalContext
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 10:31:04 +00:00
dcarney@chromium.org
15408ba0c9 remove CcTest::default_isolate
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:56:09 +00:00
dcarney@chromium.org
c57236e288 remove HEAP from tests
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:46:15 +00:00
dcarney@chromium.org
baf6add9f0 bulk replace Isolate::Current in tests
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:17:13 +00:00
dcarney@chromium.org
f758caa34d bulk replace v8::Isolate::GetCurrent in tests
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 08:54:58 +00:00
dcarney@chromium.org
9888027edf build fix for 16809 nosnapshot issue
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 08:03:19 +00:00
dcarney@chromium.org
c96a606e77 Remove default isolate usage from almost all tests
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 07:33:45 +00:00
rodolph.perfetta@gmail.com
86e3d4ae56 ARM: Fix simulator when using hard floating point ABI.
BUG=none
TEST=make arm.release.check armfloatabi=hard
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 15:13:18 +00:00
svenpanne@chromium.org
cc17926d6b Add flags to force or prevent setting of isolate.is_memory_constrained.
Enables MAYBE_BOOL flags for when you want to only do something if the flag
was explicitly set to true or false. Also cleans up JSArguments struct.

BUG=None
R=svenpanne@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 13:48:17 +00:00
dcarney@chromium.org
f34340033e new gc callbacks with isolate parameters
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 12:37:22 +00:00
dcarney@chromium.org
21ed55d912 remove js_accessor_ics flag
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 12:23:12 +00:00
mstarzinger@chromium.org
4c85efb597 Handlify JSReceiver::HasProperty and friends.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 11:34:20 +00:00
mstarzinger@chromium.org
16a22a96c3 Handlify JSReceiver::SetProperty and friends.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 11:01:43 +00:00
bmeurer@chromium.org
f89996a1ca Don't run tests with the profiler when USE_SIMULATOR is defined.
BUG=v8:2874
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 10:57:18 +00:00
bmeurer@chromium.org
ae5ddcd9c5 Revert "ARM: Add tests for CopyBytes."
This reverts commit r16751 for breaking arm.debug checks.

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 10:34:30 +00:00
ulan@chromium.org
a68d89d099 ARM: Add tests for CopyBytes.
TEST=cctest/test-macro-assembler-arm.cc

R=ulan@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 09:01:12 +00:00
mstarzinger@chromium.org
be8621a457 Don't lookup the cache for the result of Function::New
Since isFunctionCached condition is wrong, we lookup the cache even if
doNotCache is true. As a result, Function::New always returns null
except for the first time.

BUG=272579
R=dcarney@chromium.org, mstarzinger@chromium.org, yhirano@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 14:50:01 +00:00
svenpanne@chromium.org
bf345f022e Revert "Add flags to force or prevent setting of isolate.is_memory_constrained."
It introduces static initializers for the new "MAYBE_BOOL" kind of
flags, which is a no-no for Chrome. This has to be done differently.

TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 14:09:22 +00:00
svenpanne@chromium.org
f30a734346 Add flags to force or prevent setting of isolate.is_memory_constrained.
Also enable MAYBE_BOOL flags for when you want to only do something if the flag was explicitly set to true or false.

BUG=None
R=hpayer@chromium.org, svenpanne@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 13:02:53 +00:00
titzer@chromium.org
25372ac111 Add Contains(), at(), and a constructor with raw addresses to UniqueSet<T> and Unique<T>.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 12:35:36 +00:00
mstarzinger@chromium.org
50b0567640 Handlify JSObject::DeepCopy method.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 09:51:11 +00:00
jochen@chromium.org
c5b3ce0671 Snapshot i18n Javascript code
The previous attempt used Boolean instead of $Boolean.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 13:50:38 +00:00
titzer@chromium.org
a33f273ce4 Fix compile error with CLANG.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 13:09:33 +00:00
titzer@chromium.org
dc901fae7f First implementation of HUnique<T> and HUniqueSet<T>, which is supposed to replace UniqueValueId.
BUG=
R=rossberg@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 12:08:54 +00:00
ulan@chromium.org
0e8e003077 Implement in-place rehashing of HashTable.
The algorithm puts elements into correct positions in  multiple iterations.
On the first iteration it tries to put elements at entries specified by
their first hash probe. On the second iteration -- by the second
hash probe, and so on. Overall it does O(k*n) memory accesses, where
k is the maximum number of probes required for an element and n is the
capacity of the hash table. The expectation is that k will be small.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:03:27 +00:00
rodolph.perfetta@gmail.com
6a558d107a ARM: remove the regexp specific literal pool.
It is replaced by a mov_label_offset(Register, Label*) instruction.

BUG=none
TEST=test/cctest/test-assembler-arm.cc
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:37:42 +00:00
bmeurer@chromium.org
8dbd822855 Reland "Deuglify V8_INLINE and V8_NOINLINE."
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 08:57:10 +00:00
machenbach@chromium.org
956bac1a1c Mark flaky tests for arm.
Makes the whole test-api a non-tree-closer on arm.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 07:38:37 +00:00
adamk@chromium.org
ebd4b61f38 Add access check for observed objects
This change is mostly straightforward: for 'normal' sorts of change records,
simply don't deliver a changeRecord to a given observer callback if an access
the callback's Context is not allowed to "GET" or "HAS" changeRecord.name on
changeRecord.object, or if ACCESS_KEYS is disallowed.

For 'splice' records, the question of whether to hand it to an observer is trickier, since
there are multiple properties involved, and multiple types of possible information leakage.
Given that access-checked objects are very rare (only two in Blink, Window and Location),
and that they are not normally used as Arrays, it seems better to simply not emit any splice
records for such objects rather than spending lots of logic to attempt to avoid information
leakage for something that may never happen.

BUG=v8:2778
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 20:03:54 +00:00
mstarzinger@chromium.org
718a6a9a9e Revert r16648, r16641, r16638 and r16637.
Original descriptions were:
- "Refactor and cleanup VirtualMemory."
- "Fix typo."
- "Deuglify V8_INLINE and V8_NOINLINE."
- "Don't align size on allocation granularity for unaligned ReserveRegion calls."

Reasons for the revert are:
- Our mjsunit test suite slower by a factor of 5(!) in release mode.
- Flaky cctest/test-alloc/CodeRange on all architectures and platforms.
- Tankage of Sunspider by about 6% overall (unverified).

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 18:30:01 +00:00
dslomov@chromium.org
488ba18a13 Clean-up v8::ArrayBuffer::Allocator interface
BUG=v8:2823
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:54:28 +00:00
bmeurer@chromium.org
b60d340e08 Deuglify V8_INLINE and V8_NOINLINE.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:28:09 +00:00
bmeurer@chromium.org
a797a35975 Refactor and cleanup VirtualMemory.
Remove a lot of platform duplication, and simplify the virtual
memory implementation. Also improve readability by avoiding bool
parameters for executability (use a dedicated Executability type
instead).

Get rid of the Isolate::UncheckedCurrent() call in the platform
code, as part of the Isolate TLS cleanup.

Use a dedicated random number generator for the address
randomization, instead of messing with the per-isolate random
number generators.

TEST=cctest/test-virtual-memory
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:47:02 +00:00
dcarney@chromium.org
afabbe177d remove ISOLATE
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 07:28:47 +00:00
dcarney@chromium.org
cc2257b92a move HEAP to /test
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 07:14:41 +00:00
adamk@chromium.org
9139e1a864 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@16629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 18:13:54 +00:00
bmeurer@chromium.org
7bb320087b Fix clang C++11 compiler warning.
TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 13:39:53 +00:00
bmeurer@chromium.org
7f0f84c0a5 Fix MSVC compiler warning after commit r16612.
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 11:33:14 +00:00
bmeurer@chromium.org
eb381b9444 Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context.
The RandomNumberGenerator is a pseudorandom number generator
with 48-bit state. It is properly seeded using either

(1) the --random-seed if specified, or
(2) the entropy_source function if configured, or
(3) /dev/urandom if available, or
(4) falls back to Time and TimeTicks based seeding.

Each Isolate now contains a RandomNumberGenerator, which replaces
the previous private_random_seed.

Every native context still has its own random_seed. But this random
seed is now properly initialized during bootstrapping,
instead of on-demand initialization. This will allow us to cleanup
and speedup the HRandom implementation quite a lot (this is delayed
for a followup CL)!

Also stop messing with the system rand()/random(), which should
not be done from a library anyway! We probably re-seeded the
libc rand()/random() after the application (i.e. Chrome) already
seeded it (with better entropy than what we used).

Another followup CL will replace the use of the per-isolate
random number generator for the address randomization and
thereby get rid of the Isolate::UncheckedCurrent() usage in
the platform code.

TEST=cctest/test-random-number-generator,cctest/test-random
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 11:13:55 +00:00
loislo@chromium.org
f6b7ec4da0 HeapProfiler: very slow ~4min "take snapshot time" for 80MB gmail heap.
The reason of that is a number of cons strings in the app.
The app constructs a json string and as a result v8 heap has
a very long chain of cons strings.

Profiler counts all these strings as plain String objects and
assign the content of the strings as node names.

It required O(n^2) time and O(n^2) memory.

Solution: I introduced two new types, kConsString and kSliced string.
They do not use the content of the string for names. So the problem disappeared.

The heap profiler usability problem will be solved on Blink side.

BUG=285770
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 11:12:35 +00:00
dcarney@chromium.org
dcc93c9144 restore persistent dtor
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 09:24:53 +00:00
svenpanne@chromium.org
d571a91e4a Remove HandleScope default ctor.
BUG=chromium:236173
R=bmeurer@chromium.org, svenpanne@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 06:43:23 +00:00
yangguo@chromium.org
01e913e874 Correctly stringify mixed encoding indirect strings.
R=verwaest@chromium.org
BUG=287476

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 16:15:40 +00:00
dcarney@chromium.org
33fbaaf772 put js accessor ics behind a flags until fixed
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 15:03:03 +00:00
dcarney@chromium.org
8fa8ca8b1a temporarily remove persistent destructor to allow trunk push
TBR=dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 10:10:26 +00:00
dcarney@chromium.org
66c8b527e8 new persistent semantics
adds copying and autodispose as traits

R=marja@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 09:25:23 +00:00
dcarney@chromium.org
c20f87a654 add uncached Function::New
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:52:52 +00:00
dcarney@chromium.org
5b0a281604 revert 16584 for breaking build
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:16:24 +00:00
dcarney@chromium.org
ddc5d437bb add uncached Function::New
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:08:34 +00:00
prybin@chromium.org
48cae75df8 Debug: parameterize 'step over' action with a frame where the step must be performed
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-08 19:05:29 +00:00