Commit Graph

13304 Commits

Author SHA1 Message Date
verwaest@chromium.org
122b208173 Encapsulate IC::State into the IC.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:52:24 +00:00
mstarzinger@chromium.org
b9b528e030 Defer allocation of native function literals.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:47:37 +00:00
verwaest@chromium.org
b38b81bbfe Always cache the original target in a handle on the IC.
This requires us to always open a handle-scope in the miss handlers.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:47:18 +00:00
verwaest@chromium.org
14422a698f Cleanup in IC patching.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:44:35 +00:00
verwaest@chromium.org
1324c94712 Make strict_mode a flag on StoreIC.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:36:34 +00:00
verwaest@chromium.org
63b584474f Reduce code duplication in IC updating.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:30:07 +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
marja@chromium.org
b267a955d8 Refactor PropertyCallbackInfo & FunctionCallbackInfo, part 3.
This CL starts using positive array indices instead of negative array indices
for the PropertyCallbackInfo and FunctionCallbackInfo fields. Also, the indices
match now, so they can be unified in the next step.

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:24:13 +00:00
yangguo@chromium.org
ad304ecf07 Initialize flag before usage.
This fixes a crash when running with --concurrent-osr.

R=ulan@chromium.org, dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:40:33 +00:00
mvstanton@chromium.org
aa90e62ba0 In crankshafted code, we were creating allocation mementos for shallow
SMI array literals when we shouldn't. The idea is that we should have learned
by this point what type of array we'll end up with.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:22:01 +00:00
mvstanton@chromium.org
208890d118 Print out how many AllocationMementos were found on a scavenge of new
space. This is useful because the unrooted mementos affect heap
decisions like pretenuring mode, and helps to gauge the effectiveness
of allocation-site feedback.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:14:38 +00:00
jkummerow@chromium.org
8b8a9bc30c Prepare push to trunk. Now working on version 3.22.6.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:09:05 +00:00
yangguo@chromium.org
62e4d0671d Fixed debuggersupport=off build after r16521
BUG=
R=yangguo@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 07:53:37 +00:00
jkummerow@chromium.org
85ae341b09 Revert "Defer allocation of native function literals."
This reverts r17017 for breaking LayoutTests.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 17:42:58 +00:00
jkummerow@chromium.org
3f461303bd Disable externalization of sliced/cons strings in old pointer space.
This is a temporary workaround for the fact that a good deal of the code that triggers access checks, which in turn externalize strings, is not yet handlified and therefore not GC safe.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 16:42:19 +00:00
verwaest@chromium.org
aa4eaeebee Revert "Allow code to be cached in shared maps." due to GC stress crashes.
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 16:34:37 +00:00
marja@chromium.org
9da7781258 Revert "Refactor PropertyCallbackInfo & FunctionCallbackInfo, part 3."
This reverts commit 977bfe3e9353ead1039878597590ffbd7dd5e725.

This might be responsible of the Linux Webkit test failures.

BUG=
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:33:51 +00:00
verwaest@chromium.org
fa742f84a4 Allow code to be cached in shared maps.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:28:52 +00:00
rodolph.perfetta@gmail.com
e7669d9308 ARM: Allow function inlining with context change.
BUG=none
TEST=none
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:08:20 +00:00
jochen@chromium.org
2cf500644e Turn on handle zapping for release builds
The impact on performance appears to be negligible, see the golem results on r17004

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:49:48 +00:00
mstarzinger@chromium.org
c624141bf3 Defer allocation of native function literals.
R=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:49:11 +00:00
dcarney@chromium.org
9674a7b1bd convert remainder of v8.h to use V8_DEPRECATED
R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:45:40 +00:00
marja@chromium.org
a81d7b1e7c Refactor PropertyCallbackInfo & FunctionCallbackInfo, part 3.
This CL starts using positive array indices instead of negative array indices
for the PropertyCallbackInfo and FunctionCallbackInfo fields. Also, the indices
match now, so they can be unified in the next step.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:09:51 +00:00
jochen@chromium.org
02b160f35c Remove parallel marking support.
The framework isn't used, and won't be used in the near future

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:06:43 +00:00
verwaest@chromium.org
f1fe1f95f5 Tag normal as handlers, and make code handler-specific.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:58:44 +00:00
verwaest@chromium.org
0f715540a2 Tag handlers as HANDLER rather than STUB.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:53:21 +00:00
jkummerow@chromium.org
de446c636e Prepare push to trunk. Now working on version 3.22.5.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:38:28 +00:00
yangguo@chromium.org
842099fd09 Add titzer@ to owners file.
R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:37:06 +00:00
haitao.feng@intel.com
1160383498 Remove unused SmiTryAddConstant from X64 macro assembler
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:36:39 +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
jochen@chromium.org
f482c054dd Update V8 top-level OWNERS: -mmassi +machenbach
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:23:14 +00:00
jochen@chromium.org
3387afd33e Split extra checks into extra checks and handle zapping
That will make it easier to turn on handle zapping alone and experiment
with it.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:56:52 +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
yangguo@chromium.org
f5e783de49 Remove unnecessary mutex.
The heap leak has since been solved.

R=mstarzinger@chromium.org
BUG=291236

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:41:30 +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
jkummerow@chromium.org
a01e029882 Delete references to old_statusfile.py
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 09:52:21 +00:00
dslomov@chromium.org
ca2bcdf888 Remove ArrayBufferView::BaseAddress method.
We should not expose a raw pointer to typed array's backing store.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 09:31:10 +00:00
haitao.feng@intel.com
c35559ff27 Refactor register allocator a little bit
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-28 00:48:08 +00:00
plind44@gmail.com
15d56ffe6b MIPS: Improve integer multiplication.
Port r16576 (8ce78a4)

TEST=test/mjsunit/lithium/MulI.js
BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 16:16:40 +00:00
mstarzinger@chromium.org
112b59efbb Try to make MSVC happy about EscapableHandleScope.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 15:32:26 +00:00
rodolph.perfetta@gmail.com
1726140330 ARM: Let the register allocator handle the context register.
BUG=none
TEST=none
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:59:28 +00:00
yangguo@chromium.org
2dec4372d8 Finish control flow after throw if not inlined.
R=jkummerow@chromium.org
BUG=v8:2868

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:48:19 +00:00
yangguo@chromium.org
7f1fd5e16c Restrict recorded execution pauses to the required range.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:45:17 +00:00
mvstanton@chromium.org
807cdd492b Refactoring such that loop builders only call into the HOsrBuilder if
compiling for OSR.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:38:04 +00:00
mvstanton@chromium.org
dbdcf5b671 Avoid using double temp register explicitly in lithium codegen
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 12:43:37 +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
jochen@chromium.org
8d660be217 Only zapped used handles if a handle scope fits entirely within one handle block
This should avoid zapping the same unused handles over and over again
when using many small nested handle scopes.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 11:31:06 +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
hpayer@chromium.org
4c01c4040a Re-land "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime."
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous. This change also adds OS::TotalPhysicalMemory to platform.h.

The re-land fix the performance regression caused by accidental change in default max young space size.

BUG=292928
R=hpayer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:53:07 +00:00
palfia@homejinni.com
c34af4ae6d MIPS: Fix simulator divide for overflow case.
TEST=mjsunit/div-mul-minus-one.js
BUG=
R=gergely@homejinni.com

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

Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:42:51 +00:00