Commit Graph

10264 Commits

Author SHA1 Message Date
svenpanne@chromium.org
fab9a39d9d Make the Isolate parameter mandatory in Locker and Unlocker classes.
Note that leaving out the Isolate parameter previously had a very special
meaning, namely "use the *default* Isolate", i.e. the one magically created at
program initialization time. All other API entries use the meaning "current
Isolate", which is different in a multi-threaded setting and confusing.

Temporarily disabled deprecations until Chrome is ready.

BUG=v8:2487

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 07:20:17 +00:00
mmassi@chromium.org
ca78326b66 Revert r13409 ("Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).") because of a crash in octane/mandreel.
Review URL: https://chromiumcodereview.appspot.com/11962041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 16:09:08 +00:00
yangguo@chromium.org
86078dfd7b Add a percentage to each metric in the V8 timeline plot
With the percentage, we can easily figure out how much execution time is spent in what metric.

c.f. https://docs.google.com/a/google.com/file/d/0B7GPzKNdEGeQU04ySy1qOWNuLWs/edit

BUG=

Review URL: https://chromiumcodereview.appspot.com/11975045
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 15:29:36 +00:00
yangguo@chromium.org
1074e1f558 Fix the xrange calculation of the V8 timeline plot
Currently an xrange is calculated by V8.Execution. This would be fine for JavaScript benchmarks in which everything happens inside of V8.Execution. On the other hand, in Chrome profiling, events can happen outside of V8.Execution. To visualize such outside events, we need to calculate an xrange so that the xrange covers all events.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11973028
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:45:58 +00:00
yangguo@chromium.org
84ae8d31b1 Remove some unnecessary use of templates.
R=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:31:03 +00:00
jkummerow@chromium.org
a496e0d06a Don't emit code for instructions that are hiding behind an HSoftDeoptimize
Review URL: https://codereview.chromium.org/11377135

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:07:47 +00:00
jkummerow@chromium.org
f6659cfcd7 Recently I tried to debug CPU profiling on Chrome.
I've found that profiling is not working in Debug version.
The actual problem is that sandbox/playgroung configuration is wrong and tgkill syscalls are disallowed.

This patch will make such cases more clear.

Review URL: https://codereview.chromium.org/11961037
Patch from Eugene Klyuchnikov <eustas@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 13:48:27 +00:00
jkummerow@chromium.org
26969a62a3 Optimize the emitted instruction of random function for X64
Committed: http://code.google.com/p/v8/source/detail?r=13393

Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 13:38:08 +00:00
mmassi@chromium.org
583f67b54b Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 12:39:16 +00:00
verwaest@chromium.org
78b174af29 Allow miss in GENERIC keyed load/store.
Review URL: https://chromiumcodereview.appspot.com/11975044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 12:28:37 +00:00
mstarzinger@chromium.org
cd6771b831 Remove unused methods about Node::class_id_
BUG=

Review URL: https://codereview.chromium.org/11983002
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 10:42:17 +00:00
mvstanton@chromium.org
7884216804 Additional work to get array literal allocation tracking working, even with --always-opt
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 08:41:27 +00:00
mstarzinger@chromium.org
fd4d32e733 Inline SetWrapperClassId() and WrapperClassId()
BUG=
TEST=test-api.cc (WrapperClassId)

Review URL: https://codereview.chromium.org/11961014
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 16:33:09 +00:00
yangguo@chromium.org
5da9e75670 Remove support for Live Object List and inspector module.
These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while.  Test cases do not exist.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:44:26 +00:00
yangguo@chromium.org
e3c3c1620a Add missing VMState(EXTERNAL) for DOM GC callbacks
BUG=

Review URL: https://chromiumcodereview.appspot.com/11958011
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:16:31 +00:00
verwaest@chromium.org
36a26b5394 Separate MEGAMORPHIC and GENERIC ic states
Review URL: https://chromiumcodereview.appspot.com/11824063

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:02:58 +00:00
ulan@chromium.org
07c60c2dac Check that FPU TOP register is zero and clear all exceptions instead of using fninit,
which causes performance regression on Windows.

BUG=168370
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 14:54:19 +00:00
yangguo@chromium.org
a8d59243b9 Cleanup latin-1 conversion check in regexp engine
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11880045
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 13:04:07 +00:00
yangguo@chromium.org
451ed2f2cf Remove some ascii checks in advance of latin-1 release
BUG=

Review URL: https://chromiumcodereview.appspot.com/11880017
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:52:27 +00:00
yangguo@chromium.org
10436443fe Avoid pointer underflow in CopyCharsUnsigned.
R=dcarney@chromium.org
BUG=v8:2493

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:27:38 +00:00
svenpanne@chromium.org
6e6426627e Implement Context::GetIsolate()
BUG=
TEST=test-api.cc (IsolateOfContext)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 12:11:43 +00:00
jkummerow@chromium.org
e3cda0aef1 Revert "Optimize the emitted instruction of random function for X64"
This reverts r13393.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 11:45:08 +00:00
jkummerow@chromium.org
dc5dc3740e MIPS: Some more instrumentation to narrow down Failure leaks.
Port r13341 (673c3243)

Original commit message:
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11972002
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:50:01 +00:00
jkummerow@chromium.org
47b28502ce Record vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on Linux
Review URL: https://codereview.chromium.org/11879036
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:46:34 +00:00
jkummerow@chromium.org
fd59972306 Optimize the emitted instruction of random function for X64
Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:35:24 +00:00
jkummerow@chromium.org
b5767291bc Generate shim headers when using system v8.
BUG=chromium:165264

Review URL: https://codereview.chromium.org/11642006
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:16:46 +00:00
mstarzinger@chromium.org
4e6525da7e Inline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()
TEST=test-api.cc (IndependentWeakHandle, ApiObjectGroupsCycleForScavenger)

Review URL: https://codereview.chromium.org/11879044
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:10:53 +00:00
yangguo@chromium.org
ec9dc27880 MIPS: Remove move ascii data hint for one byte strings
Port r13375 (198859e8)

Original commit message:
This is mostly a rollback of r12966 [Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11969004
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:05:15 +00:00
yangguo@chromium.org
72878509e2 MIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
Port r13344 (e5638dd9)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11971003
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:00:31 +00:00
mstarzinger@chromium.org
0484ddcf50 Fix arguments materialization for inlined apply().
This fixes materialization of the arguments object in case the constant
function check if TryCallApply() inside an inlined frame fails.

R=svenpanne@chromium.org
BUG=v8:2489
TEST=mjsunit/regress/regress-2489

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 09:25:45 +00:00
svenpanne@chromium.org
b5e4485a34 Add some runtime checks to MayNamedAccess
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11877027
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 08:54:04 +00:00
mstarzinger@chromium.org
5fd157db1b Pack GlobalHandles::Node::state_ and three flags into uint8_t
TEST=test-api.cc (ApiObjectGroupsCycle, ApiObjectGroupsCycleForScavenger, IndependentWeakHandle)

Review URL: https://codereview.chromium.org/11875015
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:26:48 +00:00
yangguo@chromium.org
f15f294127 Sync laziness between BuildFunctionInfo and MakeFunctionInfo.
BuildFunctionInfo compiles the function eagerly when there are debug
break points. However, the AST may have been parsed lazily since
MakeFunctionInfo does not check for debug break points.

This fixes a regression introduced in r11866.

BUG=147497

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:16:52 +00:00
yangguo@chromium.org
59ec70ce77 Fix windows build wrt symbol export.
R=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:04:18 +00:00
mstarzinger@chromium.org
90ec61152c Add sanity check to CodeFlusher::AddCandidate.
R=hpayer@chromium.org
BUG=chromium:169209

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 10:00:48 +00:00
yangguo@chromium.org
2fcc7d7098 Prepare push to trunk. Now working on version 3.16.6.
R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 09:30:04 +00:00
yangguo@chromium.org
eebebf9f1c Add back ascii fast path for toupper/tolower
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11889007
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-15 09:22:14 +00:00
yangguo@chromium.org
89bef51aca Remove move ascii data hint for one byte strings
This is mostly a rollback of r12966
[Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11857015
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 15:17:56 +00:00
svenpanne@chromium.org
1ac3949a93 Removed deprecated functions from v8's external API.
Removed the following deprecated functions:

   * Object::GetPointerFromInternalField
   * Object::SetPointerInInternalField
   * External::Wrap
   * External::Unwrap
   * Context::GetData
   * Context::SetData

They have been deprecated in the 3.15 branch and are not used by Chrome anymore.
Furthermore, judging from bug reports and email threads, embedders like node.js
and others are already using 3.15, too. All removed API entries can be emulated
by a one-liner, so adapting should not be hard for anybody.

We want to introduce more deprecations soon, but to keep things simple and avoid
having old and not-so-old deprecations in v8.h, the 3.15 deprecations are now
removed.

In general, the strategy of keeping deprecated things for one stable release and
then removing them seems to be a good compromise between a maintenance nightmare
and annoying external embedders. :-)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 13:41:08 +00:00
yangguo@chromium.org
eadcc1c10c Reland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 13:19:27 +00:00
mstarzinger@chromium.org
17a73739f0 The time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured as EXTERNAL time
BUG=

Review URL: https://codereview.chromium.org/11817044
Patch from Kentaro Hara <haraken@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 12:59:41 +00:00
yangguo@chromium.org
cc3bb60317 Prepare API for webkit use of Latin-1
R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11852019
Patch from Dan Carney <dcarney@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 11:22:05 +00:00
mstarzinger@chromium.org
12f25e6b2b Fix problem with NULL handle in r13367.
R=svenpanne@chromium.org
BUG=chromium:169723

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 10:59:00 +00:00
mstarzinger@chromium.org
ee18b8f0e4 Fix unhandlified value in GetOwnProperty function.
R=svenpanne@chromium.org
BUG=chromium:169723

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 10:21:22 +00:00
svenpanne@chromium.org
9a8c8ed58c We can't print the AST or the source for stubs.
BUG=v8:2486

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 08:36:38 +00:00
svenpanne@chromium.org
7bea34038d Consistently use V8EXPORT on all classes and not on individual methods.
Review URL: https://codereview.chromium.org/11861006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-14 07:30:13 +00:00
yangguo@chromium.org
d8d8f6d107 Prepare push to trunk. Now working on version 3.16.5.
R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-11 14:49:30 +00:00
mstarzinger@chromium.org
b93b2b98b8 Fix shared function info code replacement.
This fixes a corner case when the unoptimized code for a shared function
info is replaced while the function is enqueued as a flushing candidate.
Since the link field is stored within the code object, the candidates
list got destroyed.

R=hpayer@chromium.org
BUG=v8:169209
TEST=cctest/test-heap/Regress169209

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-11 13:13:11 +00:00
svenpanne@chromium.org
1ea15e5ad2 Make v8 handle OOM during Heap construction more gracefully.
Review URL: https://codereview.chromium.org/11824064

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 15:53:11 +00:00
jkummerow@chromium.org
b64765eb62 Better --trace-ic output for UnaryOpICs, matching other IC types
Review URL: https://codereview.chromium.org/11826051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-10 14:35:06 +00:00