Commit Graph

4632 Commits

Author SHA1 Message Date
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
dslomov@chromium.org
0610773db7 Revert "Fixing timezone issues with date-time/parse-* tests."
This reverts commit r17148 for breaking tests on Windows.

TBR=cira@google.com,titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 19:43:05 +00:00
cira@chromium.org
2986f94c14 Fixing timezone issues with date-time/parse-* tests.
BUG=2919
TEST=All tests passing when local timezone was set to EST.
R=mnita@google.com, titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 17:54:33 +00:00
olivf@chromium.org
4b6d0e33f2 Only set binary operation side effects flags, when observable.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 16:49:25 +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
mstarzinger@chromium.org
63d8abb6c6 Unify and fix checkers for duplicate object literal properties.
R=ulan@chromium.org
TEST=preparser/duplicate-property,mjsunit/regress/regress-parse-object-literal

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 11:58:16 +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
mvstanton@chromium.org
59c8d36c00 Revert "Debug: Allow stepping into on a given call frame."
This reverts commit r17095.
There were test failures (flaky).

BUG=chromium:296963
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 09:05:28 +00:00
mvstanton@chromium.org
fc95207750 Revert "Unify and fix checkers for duplicate object literal properties."
This reverts commit 12c68518bd2c74dc4e44d928c84c17f98ca63359.
(r17114)

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:45:19 +00:00
dslomov@chromium.org
380d0ca582 Implement ArrayBuffer.isView.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 08:36:44 +00:00
mstarzinger@chromium.org
067a266426 Unify and fix checkers for duplicate object literal properties.
R=ulan@chromium.org
TEST=preparser/duplicate-property

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:58:01 +00:00
mstarzinger@chromium.org
3c8e87d840 Remove obsolete preparser binary.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:21:23 +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
yurys@chromium.org
ce61a704e3 Debug: Allow stepping into on a given call frame.
BUG=chromium:296963
R=yangguo@chromium.org, yurys

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

Patch from Andrey Adaikin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 07:42:44 +00:00
olivf@chromium.org
24c2336d75 Inline some more compare operations.
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:15:57 +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
verwaest@chromium.org
7e0ea6ab46 Only fold polymorphic into monomorphic load if all load from either receiver or same prototype.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:24:08 +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
mvstanton@chromium.org
81557f21fc Use a walking visitor to traverse JSObject structure. The purpose is to prepare for more complex context-dependent walks of the structure, needed for allocation site and pretenuring work. Different visitors can be created that annotate the object in various ways.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:36:50 +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
hpayer@chromium.org
8f60f65bdf Disable gc stress mode for mjsunit timer test.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 11:04:16 +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
mstarzinger@chromium.org
9c3ffc4f58 Fix replaying of HCapturedObject for nested objects.
R=titzer@chromium.org
TEST=mjsunit/compiler/property-refs,mjsunit/compiler/escape-analysis

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 15:28:46 +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
machenbach@chromium.org
7c0c861e7a Fix comment in test case.
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 18:53:33 +00:00
machenbach@chromium.org
9fd455872c Let timer test retry for 20ms to reduce flakiness.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 16:47:56 +00:00
verwaest@chromium.org
3ee82ddc3f Special handle for mul/div minus one when kAllUsesTruncatingToInt32
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 15:10:48 +00:00
hpayer@chromium.org
77000f2d59 Disable timer mjsunit test on Windows.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 12:46:45 +00:00
hpayer@chromium.org
f59bcf2f3b Revert OS::TimeCurrentMillis on Windows introduced in r16413.
BUG=chromium:288924
R=danno@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 09:50:48 +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
olivf@chromium.org
d268078ce0 Fix flaky parallel recompilation test.
On very rare circumstances parallel recompilation would install
the optimized method earlier than expected and the test would fail.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-25 08:23:14 +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
ulan@chromium.org
9de5748460 Android: sync test/intl to device and disable default-locale.js test.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 11:49:33 +00:00
mstarzinger@chromium.org
e48a09896d Disable GC stress for mjsunit/opt-elements.kind test.
R=mvstanton@chromium.org
TEST=mjsunit/opt-elements-kind (in GC stress mode)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 11:35:57 +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
rodolph.perfetta@gmail.com
6d8f4d52bf ARM: Tweak Math.exp.
Avoid corrupting the input and small assembly tuning.

BUG=none
TEST=test/mjsunit/lithium/MathExp.js
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 10:40:03 +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
olivf@chromium.org
42ce84134f Revert "Allow control intructions to have side effects."
Breaks arm build.

BUG=
TBR=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 18:57:32 +00:00
olivf@chromium.org
3e13af46e4 Allow control intructions to have side effects.
As a first application convert HCompareGeneric to a control Instruction, thus avoid materializing a boolean result value.

BUG=
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 16:56:34 +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
prybin@chromium.org
f536eb164f LiveEdit to mark more closure functions for re-instantiation when scope layout changes
BUG=v8:2872
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 13:15:31 +00:00
jochen@chromium.org
a3cef1a9db Skip tests failing on the no-i18n bot
R=machenbach@chromium.org, mstarzinger@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 13:13:57 +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
machenbach@chromium.org
1a3f3b0569 Skip intl tests from test262 when intl support is disabled.
Skips the whole intl directory if intl support is disabled through the test driver.

One test outside the intl directory is skipped separately. It will be handled in an extra CL.

R=jochen@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 09:26:25 +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
olivf@chromium.org
6fc2875d51 Fix Environment size mismatch in r6849.
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 08:34:23 +00:00
mvstanton@chromium.org
16f73f525b Turn off GcStress for another mjsunit test that asserts heavily on array
ElementsKind.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 07:26:11 +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
mstarzinger@chromium.org
ad51bf945e Mark failing test262 tests for Windows and Mac.
TRB=jochen@chromium.org
TEST=test262

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 16:25:35 +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
mstarzinger@chromium.org
e304eac3ac Extend test262 harness to cover intl402 suite as well.
R=jochen@chromium.org, machenbach@chromium.org
BUG=v8:2745
TEST=test262

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 14:51:50 +00:00
mvstanton@chromium.org
53194b44ba Allocation site tests aren't compatible with GcStress mode.
They make assumptions about elementskind of arrays based on allocation site
feedback. This feedback is highly dependent on mementos, unrooted objects
placed behind arrays in the heap meant to live until the next scavenge.

GcStress does many more gcs than normal, and wrecks havoc with this kind
of test.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 13:32:00 +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
98477e3880 Collect garbage before running mjsunit/fast-prototype
When not using a snapshot, after turning on i18n, there's just enough
garbage after creating a context to trigger gc at the wrong moment.
Since the test uses natives syntax to access information that would
otherwise be hidden from javascript, this makes the test fail

BUG=none
R=mstarzinger@chromium.org
TEST=mjsunit/fast-prototype passes on ia32.release with no snapshot

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 13:11:57 +00:00
jochen@chromium.org
a7e5ae37cd Mark intl/collator/default-locale as PASS || FAIL because it fails on Mac
BUG=2899
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 13:01:34 +00:00
jochen@chromium.org
416f2a9ba7 Turn on i18n support by default
This reverts commit r16789

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 12:07:03 +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
mvstanton@chromium.org
59c32b6481 Transitions from DOUBLE to FAST were not checking for allocation site info.
This creates a confusing result. It's better to let allocation sites
transition to their end state than artificially stop tracking at the
double/fast boundary.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-19 09:48:50 +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
titzer@chromium.org
957a6da2a2 Dynamically align OSR frames on ia32.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 16:05:39 +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
machenbach@chromium.org
eca42c42cb Revert "Turn on i18n support by default", "Update test262 expectations, now that 15.5.4.9_CE passes", "Make testing i18n the default.", "Mark two failing mozilla tests as failing.", "Mark mozilla tests as flaky instead of failing" and "Fix test expectations for i18n."
This reverts commit 16783-16788 due to several crashers on nosnap builder.

TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 13:50:00 +00:00
machenbach@chromium.org
ef62d7231e Fix test expectations for i18n.
BUG=v8:2893

TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 12:31:44 +00:00
jochen@chromium.org
a5eda99f1f Mark mozilla tests as flaky instead of failing
Apparently, they work on windows

BUG=v8:2893
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 10:00:20 +00:00
jochen@chromium.org
e805b83621 Mark two failing mozilla tests as failing.
They started to fail after turning on i18n support. Need to investigate
why

BUG=v8:2893
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 09:21:02 +00:00
jochen@chromium.org
f296624284 Update test262 expectations, now that 15.5.4.9_CE passes
BUG=v8:2413
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-18 08:44:41 +00:00
prybin@chromium.org
2974f8e3bb Support stepin for combination of apply and bound function
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 17:35:36 +00:00
titzer@chromium.org
05797e77fd Implement local load/store elimination on basic blocks.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 15:32:21 +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
rodolph.perfetta@gmail.com
87d0659e76 ARM: Tweak StoreKeyed.
Avoid corrupting its input in some cases.

BUG=none
TEST=test/mjsunit/lithium/StoreKeyed*.js
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 12:37:31 +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
8ed9b08e31 In the case of shift amounts with two constants and if their sum is equal 32, then shift can also be replaced with bit rotate.
R=svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 13:51:14 +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
rodolph.perfetta@gmail.com
39f0ccc2b3 ARM: Tweak the integer division operation.
BUG=none
TEST=test/mjsunit/lithium/DivI.js
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 11:28:18 +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
bmeurer@chromium.org
8540129339 ARM: Improve SeqStringSetChar implementation.
TEST=/test/mjsunit/lithium/SeqStringSetChar.js
R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 09:13:58 +00:00
rossberg@chromium.org
94c4c596e0 Array "splice" changeRecords should be emitted after the performChange has completed (per spec)
R=rossberg@chromium.org
BUG=

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:13:02 +00:00
rossberg@chromium.org
f99298bf5d Allow implicit conversion of acceptList values to string during Object.observe
R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-13 08:09:39 +00:00
yangguo@chromium.org
cb10ceb19d Reland "Clean up after r16292 (disable optimization for StringWrappers)."
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 16:17:58 +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
yangguo@chromium.org
151e514930 Simplify installing concurrently recompiled code.
Instead of overwriting the code entry of the function, we trigger
an interrupt to install the code on the main thread.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:30:56 +00:00
yangguo@chromium.org
ad25a2969d Revert "Clean up after r16292 (disable optimization for StringWrappers)."
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 11:15:12 +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
yangguo@chromium.org
996813cca2 Clean up after r16292 (disable optimization for StringWrappers).
R=jochen@chromium.org
BUG=v8:2855

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:55:57 +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
rossberg@chromium.org
efd71c9999 performChange no longer takes a |receiver| argument.
The spec omits the receiver arg with the idea arrow functions with lexical |this| will obviate the need for it.

BUG=
R=rossberg@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:52:20 +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
titzer@chromium.org
49d9555a97 Generate a custom OSR entrypoint for OSR compiles on all platforms, and transition to optimized code using the special entrypoint, instead of through the deoptimizer. Do not install the OSR compiled code as _the_ optimized code for a function.
Remove OSR-related stuff from deoptimizer.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 16:34:40 +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
mstarzinger@chromium.org
ba48f3bd8c Consider out-of-bounds accesses as escaping uses.
R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 09:53:58 +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
jkummerow@chromium.org
daee0d83db Fix bitwise negation on x64
BUG=chromium:285355
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 15:21:38 +00:00
mstarzinger@chromium.org
d4e60458a9 Disable recently added failing InitializeAndDisposeOnce test.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 13:52:59 +00:00
rodolph.perfetta@gmail.com
82f0649c76 ARM: Improve integer multiplication.
TEST=test/mjsunit/lithium/MulI.js
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 13:12:46 +00:00
dcarney@chromium.org
3a3a27b2ee store ics for js api accessors
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 11:31:25 +00:00
bmeurer@chromium.org
63c817cc55 Drop GetCurrentThreadId() and TerminateExecution(int) from the external API.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 11:29:13 +00:00
mstarzinger@chromium.org
405ddeb30c Revert "Fix multiple V8::Dispose calls since r16563." and disable test.
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 11:24:26 +00:00
mstarzinger@chromium.org
d1cfe6c8dd Remove obsolete global V8::has_been_fooed flags.
R=yangguo@chromium.org
BUG=v8:2744
TEST=cctest/test-api/InitializeAndDispose

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 18:53:39 +00:00
yangguo@chromium.org
d9659da6f4 Fix bug in regexp result object construction.
R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 14:32:49 +00:00
loislo@chromium.org
bbd26abedb Functions may not be optimized and we would like to know in cpu profiler what was the reason.
Current v8 implementation may disable optimization for a particular function or block it with help of dont_optimize flag.
The patch propagates the reason of that to the SharedFunctionInfo where cpu profiler can get it.

SharedFunctionInfo is a heap object so I extracted 8 bits from OptsCount for handling bailout reason code.

BUG=none
TEST=test-profile-generator/BailoutReason
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 13:20:51 +00:00
verwaest@chromium.org
b41a7b9cea Properly close the CountOperation value/effect context after leaving the store effect context.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 12:33:14 +00:00
dcarney@chromium.org
04c1b38d84 load ics for js api accessors
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 11:18:52 +00:00
yurys@chromium.org
e9c47357e6 Rename some of SamplingCircularQueue methods
Renamed StartDequeue -> Peek, FinishDequeue -> Remove.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 10:31:18 +00:00
dcarney@chromium.org
215ae8aa6d revert 16543 for breaking windows build
load ics for js api accessors

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 10:21:29 +00:00
dcarney@chromium.org
88910423c2 add isolate parameter for Execution::Call
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:48:34 +00:00
verwaest@chromium.org
6f358946ac Disable map-check relying on cache behavior sensitive to GC-timing
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:36:10 +00:00
dcarney@chromium.org
11af95d749 load ics for js api accessors
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:34:17 +00:00
bmeurer@chromium.org
2fdadd7794 Drop OS::IsOutsideAllocatedSpace() and move the tracking to the MemoryAllocator.
Instead of globally tracking allocated space limits, which was
not implemented properly anyway (i.e. lack of synchronization
on the reading side), track it per MemoryAllocator (that is
per heap/isolate).

In particular, avoid to call IsBadWritePtr() on Windows, it is
obsolete and Microsoft strongly discourages its usage.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 08:17:57 +00:00
bmeurer@chromium.org
03e8c9d015 ARM: fix cctest/test-code-stub-arm.cc
TEST=cctest/test-code-stub-arm.cc
R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-05 07:31:47 +00:00
adamk@chromium.org
a6a8455fdb 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 r16539 as it triggers crashes on the GC stress bot.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 20:43:21 +00:00
adamk@chromium.org
b26d28d964 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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 19:21:30 +00:00
yangguo@chromium.org
070e3b0af4 Introduce concurrent on-stack replacement.
Currently disabled behind --concurrent-osr.

R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 12:55:59 +00:00
bmeurer@chromium.org
1973774491 Fix race conditions in cctest/test-debug.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 10:47:09 +00:00
bmeurer@chromium.org
8f8222e9ad Cleanup Socket class and remove it from the platform files.
Move the Socket class to dedicated platform/socket.{cc,h} files.
Cleaned up the implementation to allow for more code sharing.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 10:41:51 +00:00
dcarney@chromium.org
913b244bb5 invert Eternal::IsEmpty logic
R=svenpanne@chromium.org
BUG=v8:2870

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 08:19:14 +00:00
dcarney@chromium.org
615c34869c Push SetAccessor to Template
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 07:45:36 +00:00
dcarney@chromium.org
3e76d8b870 remove Isolate::Current from most files starting with 'o' through 'r'
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 07:05:11 +00:00
dcarney@chromium.org
c1a35b4e24 build fix for 16507
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 12:33:52 +00:00
dcarney@chromium.org
bb01557abf remove Isolate::Current from most files starting with 's' through 'v'
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 11:54:08 +00:00
bmeurer@chromium.org
3f021e88a1 Improve cctest/test-condition-variable.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 11:27:02 +00:00
verwaest@chromium.org
c41cb4be44 Fix interceptor handling in crankshaft.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 08:55:52 +00:00
mstarzinger@chromium.org
d1c0d6b3cd Move global V8::UseCrankshaft() into the Isolate.
R=jkummerow@chromium.org
BUG=v8:2744

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 08:49:44 +00:00
svenpanne@chromium.org
625874a48c Deprecate Persistent functions which were marked to be deprecated.
BUG=
R=svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 07:34:34 +00:00
bmeurer@chromium.org
281de965a4 Import ConditionVariable class.
Condition variables are synchronization primitives that can be used
to block one or more threads while waiting for condition to become
true.

Right now we have only semaphores, mutexes and atomic operations for
synchronization, which results in quite complex solutions where an
implementation using condition variables and mutexes would be straight
forward.

There's also a performance benefit to condition variables and mutexes
vs semaphores, especially on Windows, where semaphores are kernel
objects, while mutexes are implemented as fast critical sections,
it CAN be beneficial performance-wise to use condition variables
instead of semaphores.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 07:30:01 +00:00
dcarney@chromium.org
0157c9f9e1 remove Isolate::Current from most files starting with 'd' and 'e'
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 06:59:01 +00:00
mstarzinger@chromium.org
42598f962c Remove obsolete global V8::IsRunning() predicate.
R=yangguo@chromium.org
BUG=v8:2744

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 17:06:08 +00:00
mstarzinger@chromium.org
fa8a182208 Fix OSR to ignore phis without merge index in loop entry.
This fixes a corner case introduced by escape analysis where phis are
introduced in OSR loop entry blocks that don't have a merge index and
hence cannot contain OSR values.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 16:51:44 +00:00
verwaest@chromium.org
3f70c3b07b Allow uncacheable identifiers to go generic.
BUG=v8:2867
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 16:32:11 +00:00
bmeurer@chromium.org
521afe16d2 Fix Mac llvm-gcc42 build after commit r16473.
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:36:08 +00:00
bmeurer@chromium.org
fead0d0600 Cleanup Semaphore class.
Drop the previous Semaphore class from platform files.

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

Improve test coverage of the Semaphore class.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:26:06 +00:00
prybin@chromium.org
1e44c36cdc In reporting step-in positions be more accurate with a position the debugger paused at
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:24:41 +00:00
verwaest@chromium.org
335b9a7d0d Representation of interceptor / handler properties are tagged.
Otherwise store ICs will never be initialized, due to lookup->CanHoldValue(value);

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 12:16:02 +00:00
dcarney@chromium.org
918a2f97fe revert thread isolate in PreallocatedStorageAllocationPolicy
This reverts 16467 for breaking windows build

TBR=svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 11:39:23 +00:00
dcarney@chromium.org
9ee801627b thread isolate in PreallocatedStorageAllocationPolicy
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 11:20:42 +00:00
olivf@chromium.org
78df13d0d5 Move ToI conversions to the MacroAssembler
+ Replace DeferredTaggedToINoSSE2 by DoubleToIStub and a fpu version.

+ Prevent truncating TaggedToI from bailing out.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:30:54 +00:00
dcarney@chromium.org
f119b0eaa1 thread isolate in accessors.cc
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:25:20 +00:00
yurys@chromium.org
1379f4efeb Add scriptId to StackTrace frames.
BUG=v8:2865
R=verwaest@chromium.org, yurys@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 14:54:59 +00:00
mstarzinger@chromium.org
756a99bdba Handlify JSObject::SetIdentityHash method.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 13:42:16 +00:00
jkummerow@chromium.org
9efb5cd23b 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
2013-08-30 10:51:37 +00:00
jkummerow@chromium.org
2c9ac9c7e1 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
2013-08-29 14:55:45 +00:00
hpayer@chromium.org
95c7ae8149 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
2013-08-29 12:06:45 +00:00
yurys@chromium.org
1083d1f817 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
2013-08-29 10:42:55 +00:00
bmeurer@chromium.org
e76482f2da 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
2013-08-29 09:58:30 +00:00
bmeurer@chromium.org
b320dfcf58 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
2013-08-29 09:15:13 +00:00