mvstanton@chromium.org
e039477000
Revert "Support external startup data in V8."
...
This reverts commit r21646, as it blocks pushing to chromium.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/317633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
adamk@chromium.org
13d2f365cc
Add API support for passing a C++ function as a microtask callback
...
This allows embedders to enqueue microtasks without having any v8::Context
handy, as happens in Blink in some cases (such as DOM mutations due to editing
triggering MutationObservers).
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 20:12:19 +00:00
vogelheim@chromium.org
61509aaea5
Support external startup data in V8.
...
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=bmeurer@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/293993021
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +00:00
verwaest@chromium.org
60a71d8a8c
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
...
v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.
The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:02:06 +00:00
yangguo@chromium.org
50cba82cb9
Remove unused debug API.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/303693010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:22:09 +00:00
adamk@chromium.org
20eeff9ae4
Allow microtasks to throw exceptions and handle them gracefully
...
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.
All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).
BUG=371566
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294943009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 18:40:04 +00:00
vogelheim@chromium.org
06086a90e0
Fix the "PersistentValueMap" memory leak reported here:
...
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN
The bug:
The code assumed that a weak Persistent whose weak callback is being
called would still be weak. That isn't true since the persistent is
un-weakened by the garbage collector before calling the weak callback. [1]
Specifically, PersistentValueMap would funnel all 'remove' actions
through its Release method, which uses PersistentBase::ClearWeak to
obtain the callback data. [2] For 'removes' caused by the weak callback,
ClearWeak always returns a NULL-pointer since by that time the weak
persistent was already un-weakend. The result was a memory leak in
the test, since the code to delete the weak callback data would
delete NULL.
The fix:
I explicity call Traits::DisposeCallbackData from the weak callback
with the data obtained from the v8::WeakCallbackData. To avoid invalid
calls to DisposeCallbackData, I also check whether this instance is
(still) weak before calling it. (That check could easily be elided
if it's expensive, for the price of having two 'remove' code paths.)
Severety:
Probably low. At least in Chromium, noone uses the API in a way to
trigger this; only the test does.
[1] https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/global-handles.cc&q=global-handles.cc&sq=package:chromium&type=cs&l=231
[2] https://code.google.com/p/chromium/codesearch#chromium/src/v8/include/v8-util.h&sq=package:chromium&l=332-345
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/297193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:31:06 +00:00
jochen@chromium.org
f0527ae685
Always fully qualify the namespace to use in v8.h
...
Also, remove some unused methods.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/297223006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 09:36:13 +00:00
rossberg@chromium.org
06f746a576
Consistently say 'own' property
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/291153005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 15:27:57 +00:00
yurys@chromium.org
8751323701
Add support for ES6 Symbol in heap profiler
...
Heap profiler will create a node with name Symbol and type kSymbol.
BUG=chromium:376194
LOG=Y
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/290013004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:26:48 +00:00
ishell@chromium.org
2a62cce170
Reland "v8::TryCatch now works correctly with ASAN's UseAfterReturn mode enabled."
...
BUG=chromium:369962
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/282783004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 10:13:46 +00:00
dcarney@chromium.org
1b70812e7d
filter out .caller from other worlds
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/261103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 13:45:45 +00:00
yangguo@chromium.org
33fba3bfa1
Remove DebuggerAgent.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/279423004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:28:46 +00:00
rossberg@chromium.org
98849dd1ce
Drop thenable coercion cache
...
R=dslomov@chromium.org
BUG=372788
LOG=Y
Review URL: https://codereview.chromium.org/281753004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 10:44:34 +00:00
svenpanne@chromium.org
72fcd0dd05
Revert PropertyCallbackInfo::This() signature change from r21022.
...
This exposed an internal implementation detail, which could be handled
differently.
BUG=v8:3274
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/285643008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 08:34:05 +00:00
yangguo@chromium.org
20a627183f
Rename debug API methods.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/281733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 08:07:21 +00:00
ishell@chromium.org
b94d02888a
Revert "v8::TryCatch now works correctly with ASAN's UseAfterReturn mode enabled."
...
This reverts commit r21273.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/284493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 20:10:47 +00:00
ishell@chromium.org
631b66190b
v8::TryCatch now works correctly with ASAN's UseAfterReturn mode enabled.
...
BUG=chromium:369962
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/273383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 19:32:12 +00:00
jochen@chromium.org
cf8327994d
Drop unused static microtask API
...
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/261413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 07:41:06 +00:00
jochen@chromium.org
988ea995c4
Introduce an api to query the microtask autorun state of an isolate
...
BUG=none
R=adamk@chromium.org , svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/264333004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 06:27:38 +00:00
verwaest@chromium.org
03905e4753
Directly create API functions with readonly prototypes rather than converting. Remove FunctionSetReadOnlyPrototype.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/274463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:59:15 +00:00
vogelheim@chromium.org
623f2371eb
Prevent calls to ReturnValue::Set with pointer-valued types.
...
[2nd try, after the previous version broke the build]
Currently, this code will compile:
SomePointer* p = ...;
ReturnValue r = ...;
r.Set(p);
What happens is that ReturnValue::Set has no pointer-ish overloads, but
a bool one, and hence C++ will convert the pointer to a bool and use
the Set(bool) overload. In other words, the example above is equivalent
to: r.Set(p ? true : false); Which probably isn't what the author had
in mind. This change adds a Set(void*) overload whose body forces a
compile error, to prevent this from happening inadvertently. The only
use of this indeed turned out to be an error.
(Said error was fixed/removed in crrev.com/267393002.)
Why was crrev.com/240013004 reverted?
The orginal version compiled fine on gcc (+ MSVC), but not on clang.
There's no clang try-bots, but the ASAN-based buildbots used clang
and hence the build broke. I'm slightly unsure on why, but clang -
unlike those other compilers - eagerly compiled the non-compilable
setter, which predictably broke. Now, the non-compilable setter uses
the same template logic that all other, comparable cases use. I've
tried 'make qc' with both gcc and clang versions.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/279883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 15:36:51 +00:00
ishell@chromium.org
ff2d004f85
Presubmit checks recover:
...
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/277913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
vogelheim@chromium.org
2c3ba95841
Revert of Prevent calls to ReturnValue::Set with pointer-valued types. ( https://codereview.chromium.org/240013004/ )
...
Reason for revert:
Looks like this broke the "V8 Linux64 ASAN" build.
Original issue's description:
> Prevent calls to ReturnValue::Set with pointer-valued types.
>
> Currently, this code will compile:
> SomePointer* p = ...;
> ReturnValue r = ...;
> r.Set(p);
>
> What happens is that ReturnValue::Set has no pointer-ish overloads, but
> a bool one, and hence C++ will convert the pointer to a bool and use
> the Set(bool) overload. In other words, the example above is equivalent
> to: r.Set(p ? true : false); Which probably isn't what the author had
> in mind. This change adds a Set(void*) overload whose body forces a
> compile error, to prevent this from happening inadvertently. The only
> use of this indeed turned out to be an error.
>
> (Said error was fixed/removed in crrev.com/267393002.)
>
> BUG=
> R=dcarney@chromium.org
>
> Committed: https://code.google.com/p/v8/source/detail?r=21217
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/271113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:33:29 +00:00
vogelheim@chromium.org
6b1f74260a
Prevent calls to ReturnValue::Set with pointer-valued types.
...
Currently, this code will compile:
SomePointer* p = ...;
ReturnValue r = ...;
r.Set(p);
What happens is that ReturnValue::Set has no pointer-ish overloads, but
a bool one, and hence C++ will convert the pointer to a bool and use
the Set(bool) overload. In other words, the example above is equivalent
to: r.Set(p ? true : false); Which probably isn't what the author had
in mind. This change adds a Set(void*) overload whose body forces a
compile error, to prevent this from happening inadvertently. The only
use of this indeed turned out to be an error.
(Wait for issue 364025 before submitting.)
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/240013004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:07:38 +00:00
yangguo@chromium.org
f56701f30c
Clean up Debugger::NotifyMessageHandler.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/276433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 09:24:32 +00:00
hpayer@chromium.org
de21c8a245
Simplify ConfigureHeap and change --max_new_space_size to --max_semi_space_size.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/271843005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 08:38:27 +00:00
yurys@chromium.org
c165fbd298
Remove Message::GetScriptData declaration
...
This is a left-over after r20683
BUG=None
LOG=N
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/266983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 07:43:29 +00:00
jochen@chromium.org
4dd8b11171
Introduce a microtask suppression scope and move microtask methods to isolate
...
BUG=369503
R=adamk@chromium.org
LOG=y
TEST=cctest/test-api/SetAutorunMicrotasks
Review URL: https://codereview.chromium.org/263933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 19:30:54 +00:00
yangguo@chromium.org
7e367ae0ed
Reland "Trigger exception debug event for promises at the throw site."
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/266533003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 15:17:51 +00:00
yangguo@chromium.org
792af58115
Revert "Trigger exception debug event for promises at the throw site."
...
This reverts r21092.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/262533009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 14:51:41 +00:00
yangguo@chromium.org
eed0e7e7a3
Trigger exception debug event for promises at the throw site.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/260723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 14:17:40 +00:00
yangguo@chromium.org
3a92c26e36
Rename debug event enum to be consistent.
...
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/255163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 14:03:06 +00:00
bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
yangguo@chromium.org
ee0cd292d7
Tighten OpenHandle's extra checks.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/240113010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 13:42:03 +00:00
alph@chromium.org
a9655b7d37
Add timestamps to CPU profile samples.
...
BUG=363976
LOG=Y
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/259803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 18:53:06 +00:00
jochen@chromium.org
c27da0c9b2
Remove static CallCompletedCallback handlers
...
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/249313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:49:22 +00:00
yangguo@chromium.org
28f5cf398e
Trigger debug event on not yet caught exception in promises.
...
R=aandrey@chromium.org , rossberg@chromium.org , yurys@chromium.org
BUG=v8:3093
LOG=Y
Review URL: https://codereview.chromium.org/249503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 07:03:05 +00:00
dslomov@chromium.org
b0f91095bd
Cache maps for externalized typed array objects.
...
After this, the maps do not garbage-collect, and typed array
constructors do not deopt.
R=ulan@chromium.org
BUG=363855
LOG=N
Review URL: https://codereview.chromium.org/247343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 12:24:28 +00:00
yangguo@chromium.org
2c394ad00d
Introduce exception object and remove some uses of MaybeObject::IsFailure().
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/240883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 07:33:20 +00:00
alph@chromium.org
b97a2a2585
Switch CPU profile start/stop markers to monotonic time.
...
LOG=N
BUG=363976
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/243033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-19 14:33:18 +00:00
hpayer@chromium.org
39b5090f8e
Grow old generation slower on low-memory devices.
...
BUG=
R=mstarzinger@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/236063015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:27:45 +00:00
svenpanne@chromium.org
cd89f90bd1
Removed GetDefaultIsolate{Debugger,ForLocking,StackGuard}.
...
Some first steps towards removing the default Isolate. Fixed argument
order on the way, incl. temporary helpers.
BUG=359977
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/238803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 07:47:33 +00:00
yangguo@chromium.org
22f7451e6c
Export [Dis]allowJavascriptExecutionScope
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/236833009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 19:34:32 +00:00
jochen@chromium.org
9843789de0
Remove ConfigureDefaults version that does not take the amount of virtual mem
...
R=dcarney@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/230553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 06:55:42 +00:00
marja@chromium.org
069d783a91
Remove the PreCompile API and ScriptData.
...
The new compilation API (ScriptCompiler::Compile) can produce the same data, so
the separate precompilation phase is not needed. ScriptData is replaced by
ScriptCompiler::CachedData.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/225753004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:44:49 +00:00
vogelheim@chromium.org
5633dfa6f5
Remove V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR.
...
The usage of this define has been obsoleted by removal of UnsafePersistent
from Chromium.
Depends on https://codereview.chromium.org/230613005
R=dcarney@chromium.org
BUG=276323
LOG=N
Review URL: https://codereview.chromium.org/230443004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 13:51:30 +00:00
jochen@chromium.org
dc4ba08d17
Allow the embedder to pass the virtual memory limit to v8
...
The getrlimit() call might be sandboxed, so it's not safe to use it.
BUG=none
R=mstarzinger@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/228923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:45:56 +00:00
adamk@chromium.org
902ad4a17a
Use OrderedHashTables as the backing store of JSSet and JSMap
...
This also deletes ObjectHashSet as it's no longer used.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/225183009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 20:06:35 +00:00
yangguo@chromium.org
8601ddc73b
Deprecate Context::HasOutOfMemoryException.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/225723004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 11:11:25 +00:00
bmeurer@chromium.org
448486ed48
Use distinct maps for oddballs with special handling in the type system.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/227473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 09:41:13 +00:00
jochen@chromium.org
82279ba022
Add API for adding and removing CallCompletedCallbacks to Isolate
...
The API currently just forwards to the global methods. A follow-up
change will move the callback handling to the Isolate and deprecate the
global versions.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/215893005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 07:51:27 +00:00
vogelheim@chromium.org
ebe0c79594
Remove V8_INLINE from v8-util.h.
...
(These have been causing compilation problems on some
platforms. For VS, V8_INLINE turns into 'force inline',
which will then cause a problem when the compiler won't
actually inline. Search for "C4714 warning" for details.)
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/212693006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:07:10 +00:00
jochen@chromium.org
5838d03291
Remove V8_INLINE to prevent C4714 warning under Win64.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/217123004
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 18:04:06 +00:00
yangguo@chromium.org
997ce1cac7
Remove remnants of internalized cons strings.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/216603005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:34:08 +00:00
yurys@chromium.org
681c15eb4e
Remove debugger_auto_break flag
...
The flag was introduced to support console debugger in Chrome. That debugger was replaced by DevTools long time ago and the flag is always true now.
BUG=None
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/220743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:23:23 +00:00
rossberg@chromium.org
d486f52cf4
Finalisation disclaimer
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/219403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 13:35:12 +00:00
dcarney@chromium.org
8b304a6832
Implement PersistentValueVector, analogous to PersistentValueMap.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/216973002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 10:03:20 +00:00
marja@chromium.org
6730ec8433
Amend PersistentValueMap:
...
- Use the surrounding map (instead of Traits::Impl) for weak callback.
- Provide for a fast reference to a mapped value.
- Restructure Traits to accomondate for the first point above.
[Why?] As discussed, I proceeded to replace Impl with the map.
The problem I encountered with that version is that now the
Traits class depends on itself: The weak-related methods require the
map type in their signature. But the map type includes the Traits class
and hence the Traits class method signatures depend on the specific Traits class. That
makes them practically un-derivable: While you can derive a Traits class
from another one, since the compiler now expects methods with a different
signature. To accommodate, I pulled the dispose traits into the weak traits
class. I also removed the Impl*/MapType* parameter from the Dispose call,
since no implementation seems to need it.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/212893007
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:35:50 +00:00
yurys@chromium.org
f7b437d086
Deprecate Start/StopCpuProfiling methods
...
BUG=v8:3213
LOG=Y
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197513005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:24:49 +00:00
svenpanne@chromium.org
085dddc69d
Removed 'executable' bits from header.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/212793011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 12:15:14 +00:00
dslomov@chromium.org
76b8f25edb
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:50:13 +00:00
dslomov@chromium.org
cdc9812756
Revert "This implements allocating small typed arrays in heap."
...
This reverts commit r20244 for breaking Win64 build and webkit tests.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/208503007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:12:58 +00:00
dslomov@chromium.org
654b6a27d1
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20240
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:21:58 +00:00
dslomov@chromium.org
727bc2153e
Revert "This implements allocating small typed arrays in heap."
...
This reverts commit r20240 for breaking Windows build.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/211003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:58:22 +00:00
dslomov@chromium.org
322a474bf2
This implements allocating small typed arrays in heap.
...
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/150813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:51:49 +00:00
jochen@chromium.org
04eefb86f4
Roll ICU 239289:258359 and add support for external ICU data tables
...
The only binary that supports ICU data tables is d8. The location of the
data table file has to be passed via a command line switch:
$ out/x64.optdebug/d8 --icu-data-file=out/x64.optdebug/icudtl.dat
BUG=72633,v8:3142
R=danno@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/209323014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:05:33 +00:00
dcarney@chromium.org
5664936497
fix FunctionCallbackInfo ambiguity
...
- when compiling tools that embed v8 with g++ FunctionCallbackInfo is currently ambigous
- more info: https://github.com/joyent/node/issues/7337
- original patch is here: https://codereview.appspot.com/78770045/
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/201573012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 19:36:59 +00:00
rossberg@chromium.org
ff1186c834
Add support for per-isolate private symbols
...
R=mstarzinger@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/196103004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:34:06 +00:00
marja@chromium.org
e5f5cc951a
Fix component build some more.
...
Not V8_EXPORTing ScriptCompiler::Source got rid of the last errors. This fixes
the new ones created by it. V8_INLINEing these funcs makes sense anyway.
In addition, added declared-private-and-unimplemented assignment operators
which were accidentally omitted.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/209873004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 12:13:58 +00:00
yangguo@chromium.org
8b8fb30e7f
Reland "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/209903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:07:15 +00:00
yangguo@chromium.org
03866841aa
Revert "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
This reverts r20179.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/201573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:17:18 +00:00
yangguo@chromium.org
62f65d8697
Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException.
...
R=dcarney@chromium.org
BUG=v8:3060
LOG=Y
Review URL: https://codereview.chromium.org/208263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:47:45 +00:00
dcarney@chromium.org
3ab0622b96
add setaccessorproperty to object
...
R=svenpanne@chromium.org
LOG=N
BUG=v8:2964
Review URL: https://codereview.chromium.org/209853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:41:59 +00:00
marja@chromium.org
be4c4953b7
Tentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source.
...
For more information, see the bug. Compare to ScriptOrigin
which is not exported either.
BUG=v8:3228
LOG=Y
R=dcarney@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/207703004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:24:36 +00:00
rossberg@chromium.org
b3b6987b27
Reland "Implement ES6 symbol registry and predefined symbols"
...
Only change relative to original CL is the updated assertion condition at objects-inl.h:2119
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 16:13:09 +00:00
rossberg@chromium.org
1088fbd1e7
Revert "Implement ES6 symbol registry and predefined symbols"
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204353004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:56:41 +00:00
rossberg@chromium.org
0f71f61799
Implement ES6 symbol registry and predefined symbols
...
R=mstarzinger@chromium.org , arv@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/203243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:26:27 +00:00
yangguo@chromium.org
9cd1057c3e
Remove unnecessary 'explicit' attribute.
...
R=marja@chromium.org
Review URL: https://codereview.chromium.org/206183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 09:29:48 +00:00
dcarney@chromium.org
99b115b120
Provide default traits for PersistentValueMap
...
Re-try of issue 201643003. This caused linker errors on Win64, since the
linker insists on seeing the StrongMapTrait method implementations even
though they are never used. This will provide default implementations
for them.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204343006
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:35:02 +00:00
marja@chromium.org
932a29a66a
New compilation API, part 2.
...
This CL makes the Parser produce the data PreParser used to produce. This
enables us to get rid of the unnecessary preparsing phase.
The first part is here: https://codereview.chromium.org/199063003/
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/203353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:24:13 +00:00
yangguo@chromium.org
d8c3c5ef0a
Introduce API to trigger exception on JS execution.
...
R=jochen@chromium.org , pmarch@chromium.org
Review URL: https://codereview.chromium.org/203223013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:06:53 +00:00
yangguo@chromium.org
0bc684a794
Introduce per-isolate assert scopes and API to guard JS execution.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/198253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 11:31:43 +00:00
yangguo@chromium.org
0dd31685f0
Revert "First attempt at providing default traits for PersistentValueMap."
...
This reverts r20038.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/203553002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 16:32:39 +00:00
dcarney@chromium.org
6deb7b0db4
First attempt at providing default traits for PersistentValueMap.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/201643003
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 15:01:12 +00:00
hpayer@chromium.org
4c20e76b4b
heap: allow allocation in gc prologue/epilogue
...
BUG=
R=hpayer@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/177243012
Patch from Fedor Indutny <fedor.indutny@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:38:45 +00:00
rossberg@chromium.org
0a2f4c86bd
Split Promise API into Promise/Resolver
...
R=svenpanne@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/196943014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 09:57:25 +00:00
yurys@chromium.org
386063bf9e
Fix compile error after r19955
...
BUG=None
TBR=svenpanne@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/201573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 07:09:49 +00:00
yurys@chromium.org
587b54482f
Move profiler callback interfaces from v8.h to v8-profiler.h
...
OutputStream and ActivityControl are used only by heap profiler so I moved their definition in v8-profiler.h to not clutter v8.h
Drive-by: removed OutputStream::GetOutputEncoding which is unused.
BUG=None
LOG=Y
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/196383015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 07:02:39 +00:00
dcarney@chromium.org
45ffad09d8
Move PersitentValueMap into seperate header, to avoid excessive polution
...
of v8.h.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/195793024
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 14:57:04 +00:00
marja@chromium.org
6923d84785
New Compilation API, part 1, try 2
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
This is a fixed version of https://codereview.chromium.org/186723005/
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/199063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:20:33 +00:00
yurys@chromium.org
0a61b7c996
StopCpuProfiling should return non-const CpuProfile
...
StopCpuProfiling is replaced with StopProfiling which returns non-const CpuProfile which allows to call CpuProfile::Delete on it without const_cast. Also replaced StartCpuProfiling with StartProfiling to have symmetric names for start/stop actions.
BUG=v8:3213
LOG=Y
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197873015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:26:31 +00:00
marja@chromium.org
ee6b885d25
Revert "New Compilation API, part 1"
...
This reverts revision 19881.
Reason: WebKit build failure (will commit a fixed version shortly).
BUG=
Review URL: https://codereview.chromium.org/196793013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:14:16 +00:00
marja@chromium.org
52c0098f0d
New Compilation API, part 1
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/186723005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:54:11 +00:00
dcarney@chromium.org
75ad285860
Implement PersistentValueMap, a map that stores UniquePersistent values.
...
This is preparatory work to get rid of UnsafePersistent in blink.
The previous version had to be reverted due to timeouts in win32/Debug: https://codereview.chromium.org/197173002/
The timeouts happened because the STL version on that platform contains sanity checking code which opens a 'debug window' in the GUI, patiently waiting for the user to click ok/cancel/somethirdoption. It turns out, the cause for that debug window was totally valid and the test had a use-after-free issue.
The 1st patch set is the code as before. The 2nd patch set contains the fix.
Related blink changes are here: https://codereview.chromium.org/180363004/
This patch is largely based on https://codereview.chromium.org/175503003/ , with some methods added to support the blink change mentioned above.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/197263002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:10:59 +00:00
dslomov@chromium.org
79e817aac4
Revert "Implement PersistentValueMap, a map that stores UniquePersistent values."
...
and "Win64 fix for r19833."
This reverts commits r19833 and r19837 for breaking Windows tests
(test-api/PersistentValueMap).
TBR=vogelheim@chromium.org ,dcarney@chromium.org
Review URL: https://codereview.chromium.org/197173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 11:40:40 +00:00
dcarney@chromium.org
25468478e3
Implement PersistentValueMap, a map that stores UniquePersistent values.
...
This is preparatory work to get rid of UnsafePersistent in blink.
Related blink changes are here: https://codereview.chromium.org/180363004/
This patch is largely based on https://codereview.chromium.org/175503003/ , with some methods added to support the blink change mentioned above.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/189463019
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 09:11:25 +00:00
rossberg@chromium.org
94b5180db0
API support for promises
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194663003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:17:20 +00:00
yangguo@chromium.org
d3a16a2e2a
Add support for allowing an embedder to get the V8 profile timer event logs.
...
Contributed by fmeawad@chromium.org
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/186163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:56:48 +00:00
dcarney@chromium.org
2c74163f59
initialize v8::Private with v8::String
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/179983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:20:56 +00:00
dcarney@chromium.org
7d8cda6ea0
Allow Object::InternalFieldCount and Object::GetAlignedPointerFromInternalField to be called from Persistent classes
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:18:57 +00:00
mvstanton@chromium.org
1d3652ebe6
Symbols for type cells. We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/181283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 09:10:18 +00:00
marja@chromium.org
bd1fb97d5c
Remove Script::SetData and the script_data parameter from Script::(Compile|New).
...
This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.
Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.
Note 2: This is the same as r19616 ( https://codereview.chromium.org/184403002/ )
with a unused variable fix in bootstrapper.cc.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/185533014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 08:43:54 +00:00
verwaest@chromium.org
1aeaeb2b90
Allow objects with "" properties to stay fast.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/184453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-04 12:43:05 +00:00
marja@chromium.org
40ffba58a4
Revert "Remove Script::SetData and the script_data parameter from Script::(Compile|New)."
...
This reverts revision 19616.
BUG=
TBR=marja@chromium.org ,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/181113008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 14:09:52 +00:00
marja@chromium.org
55750b1c62
Remove Script::SetData and the script_data parameter from Script::(Compile|New).
...
This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.
Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/184403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 13:54:14 +00:00
alph@chromium.org
1bace575f0
Allow self_size to be larger than 2GB in heap snapshots.
...
LOG=N
R=dslomov@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/166383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:22:07 +00:00
yangguo@chromium.org
7f6dc1ff9b
Do not visit smis in the root list during GC.
...
R=mstarzinger@chromium.org
BUG=328804
LOG=N
Review URL: https://codereview.chromium.org/166023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 10:41:25 +00:00
rafaelw@chromium.org
6b5a4cdef2
V8 Microtask Queue & API
...
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".
It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to
-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).
R=dcarney@chromium.org , rossberg@chromium.org , dcarney, rossberg, svenpanne
BUG=
Review URL: https://codereview.chromium.org/154283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 22:04:19 +00:00
hpayer@chromium.org
3f86546bb4
The allocation sites scratchpad becomes a heap data structure.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/143153008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 09:54:52 +00:00
jarin@chromium.org
99ce5a2484
The current
...
version is passing all the existing test + a bunch of new tests
(packaged in the change list, too).
The patch extends the SlotRef object to describe captured and duplicated
objects. Since the SlotRefs are not independent of each other anymore,
there is a new SlotRefValueBuilder class that stores the SlotRefs and
later materializes the objects from the SlotRefs.
Note that unlike the previous implementation of SlotRefs, we now build
the SlotRef entries for the entire frame, not just the particular
function. This is because duplicate objects might refer to previous
captured objects (that might live inside other inlined function's part
of the frame).
We also need to store the materialized objects between other potential
invocations of the same arguments object so that we materialize each
captured object at most once. The materialized objects of frames live
in the new MaterielizedObjectStore object (contained in Isolate),
indexed by the frame's FP address. Each argument materialization (and
deoptimization) tries to lookup its captured objects in the store before
building new ones. Deoptimization also removes the materialized objects
from the store. We also schedule a lazy deopt to be sure that we always
get rid of the materialized objects and that the optmized function
adopts the materialized objects (instead of happily computing with its
captured representations).
Concerns:
- Is the FP address the right key for a frame? (Note that deoptimizer's
representation of frame is different from the argument object
materializer's one - it is not easy to find common ground.)
- Performance is suboptimal in several places, but a quick local run of
benchmarks does not seem to show a perf hit. Examples of possible
improvements: smarter generation of SlotRefs (build other functions'
SlotRefs only for captured objects and only if necessary), smarter
lookup of stored materialized objects.
- Ideally, we would like to share the code for argument materialization
with deoptimizer's materializer. However, the supporting data structures
(mainly the frame descriptor) are quite different in each case, so it
looks more like a separate project.
Thanks for any feedback.
R=danno@chromium.org , mstarzinger@chromium.org
LOG=N
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=18918
Review URL: https://codereview.chromium.org/103243005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 10:33:53 +00:00
jarin@chromium.org
ec51f26b9e
Revert "Captured arguments object materialization"
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/130803009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 15:49:48 +00:00
jarin@chromium.org
868ad01ecb
This is a preview of the captured arguments object materialization,
...
mostly to make sure that it is going in the right direction. The current
version is passing all the existing test + a bunch of new tests
(packaged in the change list, too).
The patch extends the SlotRef object to describe captured and duplicated
objects. Since the SlotRefs are not independent of each other anymore,
there is a new SlotRefValueBuilder class that stores the SlotRefs and
later materializes the objects from the SlotRefs.
Note that unlike the previous implementation of SlotRefs, we now build
the SlotRef entries for the entire frame, not just the particular
function. This is because duplicate objects might refer to previous
captured objects (that might live inside other inlined function's part
of the frame).
We also need to store the materialized objects between other potential
invocations of the same arguments object so that we materialize each
captured object at most once. The materialized objects of frames live
in the new MaterielizedObjectStore object (contained in Isolate),
indexed by the frame's FP address. Each argument materialization (and
deoptimization) tries to lookup its captured objects in the store before
building new ones. Deoptimization also removes the materialized objects
from the store. We also schedule a lazy deopt to be sure that we always
get rid of the materialized objects and that the optmized function
adopts the materialized objects (instead of happily computing with its
captured representations).
Concerns:
- Is there a simpler/more correct way to store the already-materialized
objects? (At the moment there is a custom root reference to JSArray
containing frames' FixedArrays with their captured objects.)
- Is the FP address the right key for a frame? (Note that deoptimizer's
representation of frame is different from the argument object
materializer's one - it is not easy to find common ground.)
- Performance is suboptimal in several places, but a quick local run of
benchmarks does not seem to show a perf hit. Examples of possible
improvements: smarter generation of SlotRefs (build other functions'
SlotRefs only for captured objects and only if necessary), smarter
lookup of stored materialized objects.
- Ideally, we would like to share the code for argument materialization
with deoptimizer's materializer. However, the supporting data structures
(mainly the frame descriptor) are quite different in each case, so it
looks more like a separate project.
Thanks for any feedback.
R=mstarzinger@chromium.org , danno@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/103243005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 15:14:15 +00:00
bmeurer@chromium.org
215da5eca3
v8config.h: introduce V8_LIBC_MSVCRT
...
Use this for detecting MSVCRT library features instead of
V8_CC_MSVC.
One use case for this is when compiling with Clang together with the
MSVC library. In that case, V8_CC_MSVC will be false, but V8_LIBC_MSVCRT
will be true.
BUG=82385
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/145593003
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-28 19:11:13 +00:00
dslomov@chromium.org
1a67b7f86a
External Array renaming and boilerplate scrapping
...
Replaced symbolic names with correct JS name (byte -> int8, unsigned int -> uint32 etc).
Using macros to scrap the boilerplate
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/145133013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 16:01:15 +00:00
dcarney@chromium.org
f93f8ded96
String:WriteUtf8: Add REPLACE_INVALID_UTF8 option
...
This patch makes String::WriteUtf8 replace invalid code points (i.e. unmatched
surrogates) with the unicode replacement character when REPLACE_INVALID_UTF8 is
set. This is done to avoid creating invalid UTF-8 output which can lead to
compatibility issues with software requiring valid UTF-8 inputs (e.g. the
WebSocket protocol requires valid UTF-8 and terminates connections when invalid
UTF-8 is encountered).
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/121173009
Patch from Felix Geisendörfer <haimuiba@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 09:52:54 +00:00
svenpanne@chromium.org
e8f935a630
Various extension-related cleanup and simplifications.
...
Removes the embarrassing "static"s, shuffles some code around, doing various cleanups on the way.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/130213009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 10:52:00 +00:00
dslomov@chromium.org
5da41be7b8
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 17:08:45 +00:00
dslomov@chromium.org
34eeeb8953
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18649 for breaking Linux/nosnap and Win64 tests.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/140793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 16:00:36 +00:00
dslomov@chromium.org
97040ce67b
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=18646
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 15:01:27 +00:00
dslomov@chromium.org
95f572389e
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18646 for breaking Win32 build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/132233012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:26:15 +00:00
dslomov@chromium.org
0c960c2e96
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:18:37 +00:00
svenpanne@chromium.org
b25bb230cd
Removed apiutils.h and related cleanup.
...
ExtensionConfiguration is just a simple container for extension names
(in a perfect world we would use vector<string> and range-based for
loops), and HandleScopeData was in the totally wrong place. Some
additional cleanup on the way, e.g. using the null pattern behind our
external API.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/139393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 08:17:40 +00:00
ulan@chromium.org
2638dca48f
Make cells pointing to JSObjects weak in optimized code.
...
This is done similar to weak embedded objects in optimized code (r17102). The
reference from optimized code to a cell is treated weakly in marking visitors
if the cell points to a JSObject. After marking we iterate over all cells
embedded in optimized code. If a cell is not marked but its value is marked,
then we revive the cell by marking it. Otherwise, the cell value is dead, so
we mark the code for deoptimization.
BUG=v8:2073
TEST=cctest/test-heap/CellsInOptimizedCodeAreWeak
LOG=Y
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/117483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 11:42:19 +00:00
jochen@chromium.org
38cde85729
Introduce an API mirroring the gc extension
...
BUG=none
R=mstarzinger@chromium.org , svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/131443008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 12:03:31 +00:00
vegorov@chromium.org
1d4c0532d7
Introduce kGCCallbackForced flag.
...
This flag will be passed to GC prologue/epilogue callbacks if GC was forced through GC extension.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/104023011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 10:57:49 +00:00
marja@chromium.org
21f1ca5850
Remove ScriptData::PreCompile which takes const char*.
...
The version taking a Handle should be used instead.
It's not used by Chromium and complicates the ongoing lexer work.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/136413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 10:51:40 +00:00
svenpanne@chromium.org
8f7720aa25
Add Isolate parameter to HandleScope::NumberOfHandles.
...
LOG=y
BUG=324225
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/128233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-09 10:37:15 +00:00
svenpanne@chromium.org
c2514db458
Removed v8::AssertNoGCScope.
...
Everything was private, so no object could ever be constructed, which
implies that nobody uses it. Furthermore, it contained a TODO and was
overly complicated, an #ifdef-less simple pimpl idiom would have been
enough.
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/128113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 12:22:42 +00:00
svenpanne@chromium.org
80c2c4080d
Make -Wshadow happy.
...
LOG=y
BUG=v8:3073
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/119983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 13:28:33 +00:00
ulan@chromium.org
343813c59e
Revert r18451 "Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."" since necessary WebKit changes are rolled in Chromium.
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/119753008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 14:31:17 +00:00
ulan@chromium.org
163386c700
Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."
...
because of broken WebKit bots.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/119323006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 14:13:21 +00:00
svenpanne@chromium.org
1143ab132e
Reland r18383: More API cleanup.
...
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.
* Removed Integer::New and Integer::NewUnsigned with weird argument order.
Chrome CLs matching this change have been landed.
TBR=dcarney@chromium.org
LOG=y
BUG=324225
Review URL: https://codereview.chromium.org/108783007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 11:56:33 +00:00
bmeurer@chromium.org
0899da3697
Add support for the QNX operating system.
...
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:
Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>
R=bmeurer@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/61153009
Patch from Cosmin Truta <ctruta@blackberry.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
rmcilroy@chromium.org
78ab4379d3
Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry
...
Third stage of implementing an out-of-line constant pool for Arm. This CL adds
a ConstantPool field to Code objects and initializes the pp register on
function entry, and saves the pp register on the stack frame. The ConstantPool
object is always empty and is unused currently.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/88043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-30 11:23:59 +00:00
yurys@chromium.org
18e865d4fa
Delete v8::HeapGraphNode::GetHeapValue
...
BUG=chromium:324769
LOG=N
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/98633009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 09:33:16 +00:00
yurys@chromium.org
61c1692c9b
This adds functionality for getting original functions from bound functions.
...
It's of much use when information about function calls is shown on the Events timeline in DevTools: instead of referencing to v8natives.js where bound functions are created, we'll be able to show real function data (name, resource, script line and column numbers) retrieved from original functions.
BUG=None
LOG=Y
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/106763002
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 08:04:54 +00:00
svenpanne@chromium.org
e595dc0368
Revert "More API cleanup."
...
This reverts r18383. The CL in itself is OK, we just have to wait until Chrome's commit queue lands the final corresponding change and re-land this CL. :-/
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/119013004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:35:53 +00:00
svenpanne@chromium.org
d54a4e6d40
More API cleanup.
...
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.
* Removed Integer::New and Integer::NewUnsigned with weird argument order.
Chrome CLs matching this change are prepared, BTW.
LOG=y
BUG=324225
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/118523003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 10:49:27 +00:00
vegorov@chromium.org
bc77d4d60a
Reland r18363.
...
Introduce API to temporarily interrupt long running JavaScript code.
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
Changes from r18363:
- includes r18364 to fix compilation errors: removes debugging only code;
- makes interrupiton related tests not threaded, because they rely on having exclusive access to the V8 instance and the fact that they can only interrupt themselves, if they are interrupted from the outside they break;
- changes HasStackCheck predicate used during SCE pass to avoid handles dereference to make SCE compatible with parallel recompilation.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/104823008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:45:58 +00:00
vegorov@chromium.org
dd8a793962
Revert "Introduce API to temporarily interrupt long running JavaScript code."
...
This reverts commit r18363.
Revert "Fix compilation error introduced by r18363."
This reverts commit r18364.
Changes in SCE pass are incompatible with parallel compilation
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/101463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:21:27 +00:00
vegorov@chromium.org
64d2dfa232
Introduce API to temporarily interrupt long running JavaScript code.
...
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
BUG=
R=danno@chromium.org , dcarney@chromium.org
Review URL: https://codereview.chromium.org/102063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 18:38:35 +00:00
yurys@chromium.org
19b6b7ada8
Delete several deprecated methods on v8::CpuProfiler
...
All methods for accessing collected profiles by index are deprecated. The indexed storage may well be implemented by the embedder should he need it. CpuProfiler's responsibility is just to create CpuProfile object that contains all collected data and whose lifetime can be managed by the embedder.
BUG=chromium:327298
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/117353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:59:09 +00:00
yurys@chromium.org
8b542494c3
Add methods for finding object by its snapshot id and id for an object
...
Object<-->id mapping doesn't depend on a particular snapshot, actually same object may appear in several heap snapshots. The API for converting between id and heap object should be provided by HeapProfiler itself. There is already GetObjectId method which I extended with FindObjectById/ClearObjectIds. As the next step I'm going to deprecate and remove HeapGraphNode::GetHeapValue.
BUG=chromium:324769
LOG=N
R=alph@chromium.org , hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/93843004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:17:03 +00:00
svenpanne@chromium.org
402139f686
Remove all stuff marked as V8_DEPRECATED.
...
R=jochen@chromium.org , mstarzinger@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/99193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:09:37 +00:00
yurys@chromium.org
19f29c380e
Do not stop profiling if all finished profiles were deleted
...
Deleting finished profiles shouldn't interrupt profile recording.
BUG=chromium:327298
LOG=N
R=alph@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/103893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 14:39:18 +00:00
verwaest@chromium.org
d5787278bc
Fixed global object leak caused by overwriting the global receiver (the global proxy) in the global object with the global object itself.
...
This CL additionally removes the API function to reattach a global proxy to a
global object.
BUG=324812
LOG=y
R=dcarney@chromium.org , titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/101733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 13:51:48 +00:00
yurys@chromium.org
e87fe7b71f
Simplify allocation tracker API
...
Deprecated separate methods for starting/stopping allocation tracking in favor of a bool param to Start/StopTrackingHeapObjects.
BUG=None
LOG=N
R=loislo@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/96933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 14:27:24 +00:00
jochen@chromium.org
5264959374
Undeprecate Persistent::ClearAndLeak
...
We depend on this in blink, and won't be able to replace it in
the near future
R=svenpanne@google.com , svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/95003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 14:30:20 +00:00
jochen@chromium.org
c1da40c08d
Mark deprecated APIs with relatively little use as deprecated
...
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/91503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 08:21:26 +00:00
dcarney@chromium.org
89fb55c463
Split Persistent into Persistent and UniquePersistent
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/88013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:30:49 +00:00
jochen@chromium.org
4765788a11
Add Isolate* parameter to static API methods that don't take one.
...
We cannot yet deprecate the versions that don't take one, because
there's too much test code in v8 using them. To keep this CL small and
managable, I'll first introduce the new APIs.
BUG=none
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/84833006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 09:45:17 +00:00
jochen@chromium.org
5e177bd658
Add versions with an Isolate parameter for inlined API methods that need one
...
We shouldn't have APIs that call Isolate::GetCurrent() internally. This
change removes all remaining occurrences of inlined methods in v8.h
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/85693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:30:59 +00:00
jochen@chromium.org
24814616b9
Deprecate old versions of Isolate::SetData and GetData
...
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/83363003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 14:23:32 +00:00
jochen@chromium.org
4452341b55
Clean up incorrect V8_DEPRECATION macro usage and enable deprecatitions
...
We turn the default for standalone builds on, however, I added overrides
to all targets to turn it locally off again. In follow up CLs, I'll
clean up one target at a time.
BUG=v8:3023
R=dcarney@chromium.org , machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/82763004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:57:55 +00:00
jochen@chromium.org
a9af0948cf
Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
...
Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc
R=bmeurer@chromium.org , svenpanne@chromium.org
BUG=v8:3015
LOG=n
Review URL: https://codereview.chromium.org/78453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 14:07:06 +00:00
jochen@chromium.org
662dd44875
Remove preemption thread and API
...
BUG=v8:3004
R=svenpanne@chromium.org , yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/62283010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 13:47:37 +00:00
jkummerow@chromium.org
9318e1cc4a
API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t instead
...
of intptr_t
This prevents an overflow in FreeArrayBuffer, which in turn caused needless GCs
as well as crashes on isolate teardown.
LOG=Y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/70233010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 08:06:02 +00:00
jochen@chromium.org
840bc42de0
Reland r17907 - Make it possible to add more than one piece of embedder data to isolates"
...
This will allow for using gin and blink bindings in the same
process.
Over r17907, I changed the order of fields in Isolate to be stable across different platforms, since the ABI defined packing is not the same on
all targets, and I initialize the embedder data field in Isolate.
BUG=317398
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/78453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 15:16:18 +00:00
jochen@chromium.org
bd09937300
Revert r17907 - Make it possible to add more than one piece of embedder data to isolates
...
> This will allow for using gin and blink bindings in the same process
>
> BUG=317398
> R=svenpanne@chromium.org , dcarney@chromium.org
> LOG=y
>
> Review URL: https://codereview.chromium.org/77913003
BUG=none
R=svenpanne@chromium.org
TBR=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/78093005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 12:05:44 +00:00
rmcilroy@chromium.org
782040d275
Remove deprecated v8::SetResourceConstraints without Isolate parameter
...
LOG=Y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/62193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:21:51 +00:00
rmcilroy@chromium.org
57dc3139cb
Remove deprecated v8-defaults.h and defaults.cc.
...
BUG=312241
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/59823008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:20:01 +00:00
jochen@chromium.org
4515fb5c4f
Make it possible to add more than one piece of embedder data to isolates
...
This will allow for using gin and blink bindings in the same process
BUG=317398
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/77913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 10:59:13 +00:00
jochen@chromium.org
e744b82fae
Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
...
This also reverts 17879 and 17880.
BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/76323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:28:07 +00:00
jochen@chromium.org
611e1185be
Fix typo in header guard of v8-platform.h
...
TBR=svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/76313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:00:45 +00:00
jochen@chromium.org
c24ce076e9
Introduce a v8::Platform class that bundles embedder callbacks
...
Also provide a default implementation to use in cctests.
For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.
BUG=v8:3015
R=svenpanne@chromium.org , danno@chromium.org
LOG=no
Review URL: https://codereview.chromium.org/75283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:36 +00:00
jochen@chromium.org
34b534c906
Add a proper way to pass the number of processors to V8
...
BUG=321060
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/73463004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:08:37 +00:00
jochen@chromium.org
062f0b0b21
Deprecate v8::External::New without Isolate parameter
...
R=bmeurer@chromium.org , machenbach@chromium.org , svenpanne@chromium.org
LOG=y
BUG=none
Review URL: https://codereview.chromium.org/63093004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 12:20:08 +00:00
yangguo@chromium.org
e2563d7a8e
Make number of available threads isolate-dependent and expose it to ResourceConstraints.
...
R=svenpanne@chromium.org
BUG=v8:2991
LOG=Y
Review URL: https://codereview.chromium.org/68203029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 11:52:47 +00:00
jochen@chromium.org
c6705f5e40
Deprecate v8::Locker::{Start,Stop}Preemption
...
BUG=v8:3004
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/63173022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:37:32 +00:00
rmcilroy@chromium.org
96b18590fd
Enable physical memory argument to be passed as an argument to ConfigureResourceConstraintsForPlatform.
...
BUG=312241
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/68203003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 14:05:06 +00:00
rossberg@chromium.org
67edfbaef8
Fix warnings
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/71373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:18:52 +00:00
rossberg@chromium.org
cec8383cff
Provide private symbols through internal APIs
...
Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.
On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:
NEW_PRIVATE(print_name)
HAS_PRIVATE(obj, sym)
GET_PRIVATE(obj, sym)
SET_PRIVATE(obj, sym, val)
DELETE_PRIVATE(obj, sym)
In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.
These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/48923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 10:34:06 +00:00
jkummerow@chromium.org
6aad7fb992
Fix compilation with GCC 4.8
...
BUG=v8:2767,v8:2149
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/69413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 12:09:38 +00:00
jochen@chromium.org
7df10557a5
Add explicit Isolate parameter to External::New
...
We can't deprecate the non-Isolate version yet but soon will.
R=svenpanne@chromium.org , svenpanne@google.com
BUG=266838
Review URL: https://codereview.chromium.org/70163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 11:44:58 +00:00
mstarzinger@chromium.org
3e9786ef24
Add three string constants from parser to the root-set.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/62143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:05:50 +00:00
bmeurer@chromium.org
3c8cee2f8d
Add isolate parameter to SetResourceConstraints, and deprecate version which depends on current isolate.
...
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/38993005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 06:59:32 +00:00
yurys@chromium.org
8385804c55
Expose v8::Function::GetDisplayName to public API.
...
BUG=chromium:17356
R=mstarzinger@chromium.org , yurys@chromium.org , yangguo@chromium.org , yurys
Committed: https://code.google.com/p/v8/source/detail?r=17324
Review URL: https://codereview.chromium.org/26709011
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:38:06 +00:00
yurys@chromium.org
87b37f81c1
Revert "Expose v8::Function::GetDisplayName to public API."
...
This reverts commit 54c7b9af65dd349405944bd9ae2f064202dc6e1d.
The new test fails in debug mode.
BUG=chromium:17356
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/30443006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 15:46:15 +00:00
yurys@chromium.org
5177d5b5cd
Expose v8::Function::GetDisplayName to public API.
...
BUG=chromium:17356
R=mstarzinger@chromium.org , yurys@chromium.org , yangguo@chromium.org , yurys
Review URL: https://codereview.chromium.org/26709011
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:57:19 +00:00
yurys@chromium.org
c71eccf95f
Expose v8::Function::IsBuiltin to public API.
...
This will be used by DevTools so that we could generate a better preview in console. Namely, we could assume that a preview of an object is lossless if all its member functions are builtin.
We also may want to expose this to DevTools users via remote debugging protocol in Debugger.FunctionDetails struct.
BUG=chromium:261470
R=mstarzinger@chromium.org , yurys@chromium.org , dcarney@chromium.org , yurys
Review URL: https://codereview.chromium.org/27701002
Patch from Andrey Adaikin <aandrey@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:50:20 +00:00
marja@chromium.org
f039f334f5
Enable calling the SetReference* & SetObjectGroupId functions with a Persistent<SubclassOfValue>.
...
This is needed for https://codereview.chromium.org/26792002/
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/27512003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 11:48:03 +00:00
ulan@chromium.org
83c63cf555
Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
...
Second stage of implementing an out-of-line constant pool on Arm. This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools. Nothing uses this object yet.
BUG=
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22601003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:35:06 +00:00
yurys@chromium.org
15db1d7c3a
Track JS allocations as they arrive with no affection on performance when tracking is switched off.
...
BUG=277984
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/22852024
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 12:41:28 +00:00
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
ulan@chromium.org
49b739dec2
Fix windows shared library build.
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/26814002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 10:59:02 +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
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
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
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
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
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
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
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
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
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
machenbach@chromium.org
936802ae21
Revert "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime." and "Fix Windows build of defaults.cc."
...
This reverts commit r16964 and r16968 due to performance regressions in octane.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24996003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:45:14 +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
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
hpayer@chromium.org
a57300fb9e
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.
BUG=292928
R=danno@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/24269003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 13:31:19 +00:00
dcarney@chromium.org
582e6ad41b
build fix for 16957 - broke shared builds
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24562009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 12:42:10 +00:00
marja@chromium.org
2dc3eca47d
Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 2.
...
This step reorders the FunctionCallbackInfo fields.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23484037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 10:28:00 +00:00
hpayer@chromium.org
4078a89a27
Add -optimize-for-size flag to optimize for memory size (will be used by pre-aging CL), and remove the is_memory_constrained ResourceConstraint.
...
BUG=292928
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/24018009
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 09:40:13 +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
8d549fb1c0
fix copy/paste error in r16955
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24721002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 07:43:09 +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
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
machenbach@chromium.org
d59b8fe5d7
[Sheriff] Revert "Let SetEntropySource() fail if called after V8::Initialize()."
...
This reverts commit 16889 for breaking the webkit tests.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23530071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 14:43:41 +00:00
bmeurer@chromium.org
c5751ce72c
Let SetEntropySource() fail if called after V8::Initialize().
...
BUG=v8:2905
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/24357002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 14:11:32 +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
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
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
0e90c68908
reland 16744: add context save for GenerateFastApiCall
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23903053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 11:37:48 +00:00
dcarney@chromium.org
c09d00d1b0
revert 16744 for breaking build
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24196002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:53:56 +00:00
dcarney@chromium.org
0020146f24
add context save for GenerateFastApiCall
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23461039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:19:50 +00:00
svenpanne@chromium.org
7b41d6d491
Fixed shared_library build on Windows.
...
BUG=v8:2879
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/24054008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 12:08:30 +00:00
mstarzinger@chromium.org
34edb73332
Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
...
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.
The field order will be:
holder
isolate
return value default value
return value
data
this
This step 1 reorders the PropertyCallbackInfo fields.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Committed: http://code.google.com/p/v8/source/detail?r=16673
Review URL: https://codereview.chromium.org/23620036
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 14:32:14 +00:00
mstarzinger@chromium.org
e6d10e4243
Revert "Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1."
...
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/23431019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:03:56 +00:00
mstarzinger@chromium.org
541840f8c1
Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
...
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.
The field order will be:
holder
isolate
return value default value
return value
data
this
This step 1 reorders the PropertyCallbackInfo fields.
BUG=
R=dcarney@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23620036
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:09:39 +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
mstarzinger@chromium.org
718a6a9a9e
Revert r16648, r16641, r16638 and r16637.
...
Original descriptions were:
- "Refactor and cleanup VirtualMemory."
- "Fix typo."
- "Deuglify V8_INLINE and V8_NOINLINE."
- "Don't align size on allocation granularity for unaligned ReserveRegion calls."
Reasons for the revert are:
- Our mjsunit test suite slower by a factor of 5(!) in release mode.
- Flaky cctest/test-alloc/CodeRange on all architectures and platforms.
- Tankage of Sunspider by about 6% overall (unverified).
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23970004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 18:30:01 +00:00
dslomov@chromium.org
488ba18a13
Clean-up v8::ArrayBuffer::Allocator interface
...
BUG=v8:2823
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/23514050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:54:28 +00:00
bmeurer@chromium.org
b60d340e08
Deuglify V8_INLINE and V8_NOINLINE.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/23494047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:28:09 +00:00
titzer@chromium.org
562d8ddcb9
Remove dead strings from heap.h
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23600023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:58:38 +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
ce687e4bed
thread isolate for DebugMessage
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23904012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 14:26:07 +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
svenpanne@chromium.org
4ef84b9240
Add a ResourceConstraint for the embedder to specify that V8 is running on a memory constrained device.
...
This enables us to specialize certain operations such that we limit memory
usage on low-memory devices, without reducing performance on devices which
are not memory constrained.
BUG=chromium:280984
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23464022
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 10:57:00 +00:00
svenpanne@chromium.org
d9bc6f7078
Move Maybe template into v8.h so it can be used by SetResourceConstraints
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23767009
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 10:53:33 +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
dcarney@chromium.org
3d855d4707
remove commented out code in v8.h
...
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23676007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 10:26:25 +00:00
dcarney@chromium.org
8fa8ca8b1a
temporarily remove persistent destructor to allow trunk push
...
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 10:10:26 +00:00
dcarney@chromium.org
66c8b527e8
new persistent semantics
...
adds copying and autodispose as traits
R=marja@chromium.org , mstarzinger@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23401003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 09:25:23 +00:00
dcarney@chromium.org
c20f87a654
add uncached Function::New
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24071002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:52:52 +00:00
dcarney@chromium.org
5b0a281604
revert 16584 for breaking build
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23680014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:16:24 +00:00
dcarney@chromium.org
ddc5d437bb
add uncached Function::New
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23561007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:08:34 +00:00
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
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
yurys@chromium.org
c034bb48b5
Allow configuring CPU profiler sampling interval using public API
...
The only way to change it at the moment is using a command line flag. We are going to add a setting to Chrome DevTools which would allow chaning default interval and that requires proper v8 API.
BUG=v8:2814
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23902004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-04 11:55:28 +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
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
titzer@chromium.org
7bd61f8ca4
Remove OptimizedCodeEntry *sigh*.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/23584004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 10:35:34 +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
bmeurer@chromium.org
8292b68acf
Fix typo breaking Mac build after commit r16450.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23522010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 12:30:09 +00:00
bmeurer@chromium.org
d4ff9ce39f
Improve feature detection.
...
Add V8_GLIBC_PREREQ() macro to test the version of the GNU C library.
Make V8_GNUC_PREREQ() work for compilers that masquerade as GCC (you
can always use V8_CC_* to test for a specific one if you need to).
Add V8_LIBC_* to detect the C library in use.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23717009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 12:09:50 +00:00
dcarney@chromium.org
740bfa5dd0
fix eternal casts
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23532017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 09:03:27 +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
titzer@chromium.org
22b70b0508
Add OptimizedCodeEntry as a new heap object type. An optimized code entry represents an association between the native context, a function, optimized code, and the literals. Such associations are needed by the deoptimizer and optimized code cache to efficiently find related optimized code and functions for a given context or shared function info.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23691002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 16:48:40 +00:00
yurys@chromium.org
4f60ee6bd7
Remove deprecated methods from debugger API
...
Deleting SetDebugEventListener and SetMessageHandler from v8::Debug. this methods were deprecated in 3.20
https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-debug.h but in fact they have been superseded by SetDebugEventListener2 and SetMessageHandler2 long ago.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23576002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 07:11:37 +00:00
yurys@chromium.org
dc670f4412
Remove implementation of CpuProfileNode methods deprecated in v8 3.20
...
GetTotalTime, GetSelfTime and GetTotalSamplesCount were deprecated in 3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-profiler.h ) and can be safely removed.
BUG=None
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/23554002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 15:12:04 +00:00
bmeurer@chromium.org
5857d951dd
Fix definition of V8_*_C() macros.
...
Make V8_INT64_C() and V8_UINT64_C() available in 32-bit mode as well,
so we can write readable constants (base 10) instead of having to
obfuscate them using V8_2PART_UINT64_C().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23557002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:16:34 +00:00
haitao.feng@intel.com
b2ca7e0b0a
Introduce SmiValuesAre31Bits and SmiValuesAre32Bits global predicate functions
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22350005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:13:40 +00:00
dcarney@chromium.org
166b6d0747
remove old style callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:47:52 +00:00
bmeurer@chromium.org
09f5042adf
Add V8_NOINLINE() and define INLINE()/NO_INLINE() in terms of their V8_*() counterparts.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/23414003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 09:21:16 +00:00
bmeurer@chromium.org
2f10268045
Fix test for warn_unused_result and move it to v8config.h.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23546002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 08:27:42 +00:00
mstarzinger@chromium.org
fc68cb74e5
Add RemovePrototype to FunctionTemplate
...
This allows functions created from a FunctionTemplate to not have a
prototype property, which is required by DOM methods.
R=mstarzinger@chromium.org
BUG=chromium:272440
Review URL: https://codereview.chromium.org/22990003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:40:03 +00:00
dcarney@chromium.org
ad9cc8e716
js accessor creation on Template
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22903012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:59:14 +00:00
bmeurer@chromium.org
10a4570282
Add V8_ALIGNAS() and V8_ALIGNOF() and use that in lazy-instance.h.
...
This renames the existing V8_ALIGNAS() to V8_ALIGNED(), and introduces
V8_ALIGNAS(type, alignment) which aligns according to the type and falls
back to aligning according to alignment.
Also use __attribute__((aligned(n))) instead of __attribute__((__aligned__(n))).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22999052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:18:28 +00:00
dcarney@chromium.org
b1bc71a510
abstract eternal into class
...
R=rossberg@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22795004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 09:41:22 +00:00
bmeurer@chromium.org
bcb064459e
Revert "Add V8_ALIGNOF() and use that in lazy-instance.h."
...
This reverts commit r16311 for breaking build with certain compilers.
Will reland once sorted out.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22979004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 08:12:08 +00:00
yurys@chromium.org
1a6dd16270
Deprecate CpuProfileNode::GetSelfSamplesCount
...
This method is being replaced by GetHitCount.
BUG=267595
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22295009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 08:10:10 +00:00
bmeurer@chromium.org
fb190fb6ae
Add V8_ALIGNOF() and use that in lazy-instance.h.
...
Also fix the inconsistent attribute naming, and make V8_GNUC_PREREQ() test work for GCC compatible compilers.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22888008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 08:06:15 +00:00
bmeurer@chromium.org
bb19c48faa
Workaround 'inlining failed' build error with older GCC 4.x releases.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/22867047
Patch from Ben Noordhuis <info@bnoordhuis.nl>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-24 16:58:32 +00:00
bmeurer@chromium.org
7a2c253e24
Move OS/compiler/feature detection to public v8config.h header.
...
From now on the v8config.h header should be the one and
only file where we do (freaky) checks to detect OS, C++
compiler or certain compiler features. Since we need that
both internally and for the public API, the new v8config.h
is the proper place to add (everything is prefixed with V8_
so we are safe).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23248006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 07:32:25 +00:00
mstarzinger@chromium.org
798809ce73
Adding missing operator!= for Handle and Persistent.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/22932004
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 10:49:29 +00:00
bmeurer@chromium.org
aca068462f
Fix -Wconversion warnings in external V8 headers.
...
BUG=v8:2830
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22549003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 10:33:08 +00:00
yurys@chromium.org
85d8178d87
Deprecate self and total time getters and total sample count getter on CpuProfileNode
...
All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.
Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.
BUG=267595
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22710006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 07:38:26 +00:00
yurys@chromium.org
4f56107e2f
Revert "Deprecate self and total time getters and total sample count getter on CpuProfileNode"
...
This reverts commit r16116 due to WebKit compilation breakage. Will reland it once Blink r155755 is rolled into Chromium.
TBR=svenpanne@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/22388003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 14:43:44 +00:00
yurys@chromium.org
122327d1c6
Deprecate self and total time getters and total sample count getter on CpuProfileNode
...
All of these values are derived from the self samples count and there is no need to evaluate them in v8 when clients can do that when needed on their side.
Also added unsigned GetHitCount() which should be used instead of double GetSelfSamplesCount(). I'm going to deprecate the latter one once Blink has switched to GetHitCount.
BUG=267595
R=loislo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22347003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-08 13:39:57 +00:00
yurys@chromium.org
707fdd4c6a
Support idle time in CPU profiler
...
This change provides an API for the embedder to tell CPU profiler if it is idle or busy with some task. This way we can discriminate between idle time and some native code execution.
BUG=268947
R=alph@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/22412003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 17:04:27 +00:00
yangguo@chromium.org
5818d831c5
Make JSON::Parse return Local<Value>
...
It should be able to return Smi, etc. Not only JSObject.
BUG=v8:2821
TEST=cctest/test-api/JSONParseNumber
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/22416003
Patch from Takeshi Yoshino <tyoshino@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 09:11:39 +00:00
dcarney@chromium.org
cd74a09886
expose eternal handle api
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/22384003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 08:26:23 +00:00
yurys@chromium.org
2144dc2d0f
Define V8EXPORT only in v8.h and use it in the other headers
...
V8EXPORT is defined in each header of V8 public API and the definitions already have some slight discrepancies. This CL makes all headers use the same definition in v8.h
BUG=None
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/22363003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:37:35 +00:00
yurys@chromium.org
e06343431a
Return start/end profiling time in microseconds instead of milliseconds
...
The start and end time are now measured in microseconds and the type is int64_t.
This way it seems more natural as we are going to support submilisecond sampling
rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test
failure caused by comparison between long double and double.
TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/22155003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 08:00:58 +00:00
bmeurer@chromium.org
274f254236
Revert "Return start/end profiling time in microseconds instead of milliseconds"
...
This reverts r16049 for breaking build on windows.
TBR=svenpanne@chromium.org ,machenbach@chromium.org
Review URL: https://codereview.chromium.org/22189002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 12:27:12 +00:00
yurys@chromium.org
d38bbe354b
Return start/end profiling time in microseconds instead of milliseconds
...
The start and end time are now measured in microseconds and the type is int64_t. This way it seems more natural as we are going to support submilisecond sampling rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test failure caused by comparison between long double and double.
TEST=cctest/test-cpu-profiler/ProfileStartEndTime
BUG=v8:2824
R=alph@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/22172002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 11:48:24 +00:00
jochen@chromium.org
cb68e2cd9b
Expose JSON parser through V8 API
...
BUG=v8:2821
TEST=cctest/test-api/JSONParse
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/21959003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 11:14:46 +00:00
dcarney@chromium.org
207396101f
introduce eternal handles
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/21133006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 09:46:23 +00:00
yurys@chromium.org
411d21b2b1
Add start and end profiling time to v8::CpuProfile
...
I'm going to change CPU profiler API and deprecate GetSelfTime, GetTotalTime and GetTotalSamplesCount on CpuProfileNode as all of those values are derived from self samples count and sampling rate. The sampling rate in turn is calculate based on the profiling duration so having start/end time and total sample count is enough for calculating smpling rate.
BUG=267595
R=alph@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21918002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 07:17:08 +00:00
dcarney@chromium.org
eb52c66fd0
IsNearDeath needs to include pending nodes
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/21466003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 06:58:48 +00:00
dslomov@chromium.org
5230c19d8b
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
...
The previous implementation of Free is a deprecated overload now.
R=mstarzinger@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=16031
Review URL: https://codereview.chromium.org/21803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 13:03:06 +00:00
dslomov@chromium.org
f8b80ca66d
Revert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."
...
This reverts r16031 for breaking shared build.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21818003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 12:56:53 +00:00
dslomov@chromium.org
1688f3c167
Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
...
The previous implementation of Free is a deprecated overload now.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/21803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 12:19:22 +00:00
dslomov@chromium.org
4ebeda216d
Speed-up 'new TypedArray(arrayLike)'.
...
Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.
Allocate backing store uninitialized in cases when we can guarantee
complete initialization.
R=bmeurer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=15998
Review URL: https://codereview.chromium.org/21369002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:52:21 +00:00
dslomov@chromium.org
791e1a9cb2
Revert "Speed-up 'new TypedArray(arrayLike)'."
...
This reverts commit r15998 for breaking NaCl build.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:47:39 +00:00
dslomov@chromium.org
d208eea478
Speed-up 'new TypedArray(arrayLike)'.
...
Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.
Allocate backing store uninitialized in cases when we can guarantee
complete initialization.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/21369002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:19:51 +00:00
verwaest@chromium.org
e53471dbaa
Remove elements transitions from the transition array.
...
This is preparatory work for reordering the transition tree. Since elements transitions will be at the root of the transition tree, runtime access to them is slow since we have to walk the transition tree backwards first. Hence remove the optimization that promoted them to a special field, requiring a pointer (mostly NULL) in every non-simple transition array.
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21228002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 17:08:50 +00:00
mstarzinger@chromium.org
96fc677d25
Pipe a script's CORS status through V8 during compilation.
...
In order to properly sanitize exception data during a 'window.onerror'
handler, we need to know whether a script was served with proper CORS
headers at the time it was loaded into V8. This patch adds a single bool
to ScriptOrigin, and pipes that through the compiler to land on the
Script object. We can then retrieve the parameter when calling the
embedder's exception callback.
BUG=crbug.com/159566
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20646006
Patch from Mike West <mkwst@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 17:05:50 +00:00
svenpanne@chromium.org
31e56df122
Prepare some ValueOf renamings.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20992005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 07:05:15 +00:00
jochen@chromium.org
0826f85a02
Put object templates of the i18n extension on the heap object.
...
Using function local statics doesn't work, as we need the templates per
isolate.
I'm not #ifdef'ing the definitions out, because kEmptyStringRootIndex
changes depending on whether the two additional slots are present or
not.
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20299002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 16:01:02 +00:00
hpayer@chromium.org
3c0483af52
Fix TargetSpace() method for box type.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/19978003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-23 19:05:00 +00:00
yurys@chromium.org
682a0d65c6
Deprecate v8::V8::Pause/ResumeProfiler
...
The methods were added to the public API in r1185 when Chrome DevTools were using the same output as produced for tick processor when --prof option is specified.
I don't see any existing clients of these methods and since they add a noticeable complexity to the profiler code I'd like to remove them.
BUG=None
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19591006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-23 13:44:15 +00:00
yurys@chromium.org
260af16ede
Deprecate some debugger methods
...
These methods have been superceeded by equivalents accepting object arguments exposing more details.
This is exactly the same change as r15708 which was reverted in r15710 due to pending Blink changes. Now that Blink is rolled to 154493 it should be safe to land this (required Blink change is 154386).
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19541005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 09:38:18 +00:00
yurys@chromium.org
a7d1cb3f2a
Revert "Deprecate some debugger methods"
...
This reverts commit 69957c36edaebe0b9b614099eb1b067fb0208671. Blink roll this patch depends on was reverted for some reason.
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19483003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:34:19 +00:00
yurys@chromium.org
9f65cf6bff
Deprecate some debugger methods
...
These methods have been superceeded by equivalents accepting object arguments exposing more details.
This is exactly the same change as r15708 which was reverted in r15710 due to pending Blink changes.
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19542003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 06:51:03 +00:00
yurys@chromium.org
9a51aa2197
Revert "Deprecate some debugger methods"
...
This reverts commit r15708 to make WebKit bots happy while Blink change https://src.chromium.org/viewvc/blink?view=rev&revision=154386 is not rolled into Chromium.
BUG=None
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/19557002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 10:03:49 +00:00
yurys@chromium.org
16bb1dc210
Deprecate some debugger methods
...
These methods have been superceeded by equivalents accepting object arguments exposing more details.
BUG=None
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/19549002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-17 09:20:16 +00:00
adamk@chromium.org
625a0e9759
Add map transition for observed objects
...
This patch enables objects to undergo a single transition when they become observed, avoiding the need to create a new map for every observed objects.
Observed objects which become unobserved does not cause another map transition and unobserved does not clear the observed bit on the map. The unobserved object.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/18221006
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-13 00:20:40 +00:00
jochen@chromium.org
97409c2363
Move InitializeICU() to the V8 API and use it.
...
I can't get rid of the enable_i18n flag yet, as we need to be able to
turn off all extensions for creating the snapshot.
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18860007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 09:58:54 +00:00
mvstanton@chromium.org
67d9051bcd
Create AllocationSite objects, pointed to by AllocationSiteInfo.
...
This creates a platform where we can do additional things with allocation sites,
other than just aid in reducing array transitions.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/15094018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 10:02:16 +00:00
yurys@chromium.org
696090196d
Delete deprecated CPU profiler code that supports filtering by security token
...
The methods that allow to filter CPU profile by security token were introduced to support console.profiles in WebKit. Now that console.profiles is removed and corresponding V8 API methods have been deprecated in 3.19 branch(https://code.google.com/p/v8/source/browse/branches/3.19/include/v8-profiler.h ) it is safe to remove all that code.
BUG=None
R=jkummerow@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/18709003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-06 09:12:09 +00:00
dslomov@chromium.org
7e0ee5301e
Add internal fields to JSArrayBufferViews (JSTypedArray and JSDataView)
...
In Blink, JSTypedArray and JSDataView objects act as "wrappers" for C++
objects. Wrapping protocol in Blink requires all wrapper JavaScript objects
to have a certain amount of internal fields that Blink uses for
book-keeping (essentially a pointer to C++ object and some type
information). This change adds those internal fields to JSTypedArray and
JSDataView, in a similiar way to how it is done for JSArrayBuffer.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/18695004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-05 10:12:36 +00:00
yurys@chromium.org
44981e4f5e
Remove deprecated heap profiler methods from V8 public API
...
v8::HeapProfiler::FindHeapSnapshot was already deprecated when 3.19 branch was created (https://code.google.com/p/v8/source/browse/branches/3.19/include/v8-profiler.h ).
BUG=None
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/18701002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-04 16:34:07 +00:00
loislo@chromium.org
a0140093ba
CPUProfiler: propagate scriptId to the front-end
...
Each CpuProfileNode has resource_name string property.
It cost us N * strlen(resource_name) where N is number of functions in the collected profile.
We could transfer script_id instead of resource_name so it would reduce transfer
size and help us to solve the problem with evals and sourceURL.
BUG=none
TEST=test-cpu-profiler/CollectCpuProfile
R=jkummerow@chromium.org , yurys@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=15429
Review URL: https://codereview.chromium.org/17642009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-02 06:14:01 +00:00
loislo@chromium.org
f470bbbb4f
Revert "CPUProfiler: propagate scriptId to the front-end"
...
This reverts commit d575f6bc8b262dac08f02913ae6e7c504c9dd900.
Check is failing on debug bots.
TBR= yurys@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18332010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 19:22:45 +00:00
loislo@chromium.org
bc9f6c607f
CPUProfiler: propagate scriptId to the front-end
...
Each CpuProfileNode has resource_name string property.
It cost us N * strlen(resource_name) where N is number of functions in the collected profile.
We could transfer script_id instead of resource_name so it would reduce transfer
size and help us to solve the problem with evals and sourceURL.
BUG=none
TEST=test-cpu-profiler/CollectCpuProfile
R=jkummerow@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/17642009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 15:15:57 +00:00
mstarzinger@chromium.org
de07db147f
Ensure CheckInitialized is present independent of define.
...
This makes sure that the same symbols are present, independent of which
defines have been used while building V8. Otherwise only embedders with
compatible defines would be able to link against that binary.
R=danno@chromium.org
BUG=chromium:255779
Review URL: https://codereview.chromium.org/18305004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 12:57:15 +00:00
yurys@chromium.org
0ac0edb707
Test that profiler is stopped when isolate is being disposed
...
The only way to get v8::CpuProfiler instance in the V8 public API is to call v8::Iolate::GetCpuProfiler(). The method will return NULL if the isolate has not been initialized yet or has been torn down already. It is the client's reponsibility to make sure that CPU profiling has been stopped before disposing of the isolate.
This CL adds a test for this and several ASSRTS enforcing that assumptions. This allowed to be sure that heap is always setup when CPU profiling is being started. Based on that the number of places where already compiled functions are reported to the profiler event processor boils down to the single place (CpuProfiler::StartProcessorIfNotStarted). I'm going to rely on this assumption in further changes.
BUG=None
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/18336002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 12:32:52 +00:00
yangguo@chromium.org
cc2f01d31f
Restore message when rethrowing in TryCatch.
...
Based on a patch contributed by Andrew Paprocki <andrew@ishiboo.com>.
R=jkummerow@chromium.org
BUG=
TEST=cctest/test-api/TryCatchNestedSyntax
Review URL: https://codereview.chromium.org/17694002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 10:54:39 +00:00
danno@chromium.org
1642f32d1c
Improved function entry hook coverage
...
Adds more coverage for function entry hook, sufficient to capture profiles that are contiguous from C++, through JS and back out to C++.
R=danno@chromium.org
Committed: http://code.google.com/p/v8/source/detail?r=15361
Review URL: https://codereview.chromium.org/16578008
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 13:40:41 +00:00
ulan@chromium.org
475131b2b9
Revert r15361 "Improved function entry hook coverage" because of ARM build error.
...
R=siggi@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/18062006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 15:31:06 +00:00
danno@chromium.org
8494f3bf25
Improved function entry hook coverage
...
Adds more coverage for function entry hook, sufficient to capture profiles that are contiguous from C++, through JS and back out to C++.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/16578008
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 14:39:37 +00:00
loislo@chromium.org
53eb53f4af
CPUProfiler: It is not clear why we are using Handle<Object> for scriptId. Lets flip it into Smi/int.
...
By the nature it is integer. So we can work with it as with Smi internaly and use int in the external API.
BUG=none
TEST=existing tests
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/17600006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 14:57:47 +00:00
mstarzinger@chromium.org
6d92511162
Reland "Remove IsInitialized checks from inlined API functions."
...
The initialization sequence in Blink has been adapted to use explicit
isolate initialization instead of through calling v8::Null() as the
first API call.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/17642011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 08:11:50 +00:00
dslomov@chromium.org
4308fb462d
API for DataView.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/17155014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:23:50 +00:00
mstarzinger@chromium.org
48c16454b1
Revert "Remove IsInitialized checks from inlined API functions."
...
This reverts r15277 due to failures in layout tests. Apparently Blink
still initializes the Isolate by calling v8::Null() as the first API
function on some paths.
TBR=svenpanne@chromium.org
TEST=webkit:crypto/worker-random-values-concurrent.html
Review URL: https://codereview.chromium.org/17577008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:10:40 +00:00
mstarzinger@chromium.org
1c22b2cd98
Make a Persistent ctor take const Persistent& instead of Persistent&.
...
BUG=
R=mstarzinger@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/17580010
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 09:34:56 +00:00
mstarzinger@chromium.org
9ef18efff6
Remove IsInitialized checks from inlined API functions.
...
R=marja@chromium.org , svenpanne@chromium.org
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/17068006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 08:58:01 +00:00
dslomov@chromium.org
91eb5f8d25
DataView implementation.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/17153011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 13:02:38 +00:00
yurys@chromium.org
6f09cb471b
Delete deprecated methods from v8-profiler.h
...
All these methods were already marked as V8_DEPRECATED in V8 Version 3.18.0 (see https://code.google.com/p/v8/source/browse/trunk/include/v8-profiler.h?r=14304 ) so it is time to delete them.
BUG=None
R=loislo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/17524007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 07:56:22 +00:00
dcarney@chromium.org
8202410cca
deprecate old style callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/17069003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 12:53:19 +00:00
dcarney@chromium.org
43a805fc27
added type checks on fast return values
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16939003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 07:39:15 +00:00
dcarney@chromium.org
eeded306fd
webkit build fix for 15142
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/17076003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 12:53:19 +00:00
dcarney@chromium.org
a1d359d20e
remove V8_USE_UNSAFE_HANDLES define
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16896004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 09:46:43 +00:00
dcarney@chromium.org
274221b06c
build fix for 15107
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16954004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:55:42 +00:00
dcarney@chromium.org
8b2c26d736
remove most uses of raw handle constructors
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15817014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:27:09 +00:00
dcarney@chromium.org
9103afa291
Deprecate the version of MakeWeak which takes an Isolate.
...
BUG=NONE
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16528009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 07:23:23 +00:00
danno@chromium.org
1b89cbf817
Separate Cell and PropertyCell spaces
...
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 15:03:44 +00:00
dslomov@chromium.org
9278a4b7b1
Change ArrayBuffer API and implementation to use embedder-provided allocator.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15855012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 10:41:14 +00:00
dcarney@chromium.org
c90e697a30
make empty string returnable by ReturnValue
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16621004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 07:42:12 +00:00
dcarney@chromium.org
a9ce5bb5ea
add a default value for return value
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16642003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 07:41:16 +00:00
dslomov@chromium.org
cbb11dbe6c
Neutering API for v8::ArrayBuffer
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16562005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:02:20 +00:00
dslomov@chromium.org
b3282c290e
Recording array buffer views.
...
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15562008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 10:52:11 +00:00
dcarney@chromium.org
a0f786f022
Make ReturnValue a friend of Persistent, so it can use operator*.
...
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15848010
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 10:46:51 +00:00
dcarney@chromium.org
72098711b7
Add Value::Cast.
...
It's needed for upcasting Persistent<Object> to Persistent<Value> after
handlepocalypse (with Persistent::As or Persistent::Cast).
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16206014
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 08:46:39 +00:00
dcarney@chromium.org
94d6a13682
build fix for build fix for 14990
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16409011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 08:15:00 +00:00
dcarney@chromium.org
2149ac97ee
build fix for 14990
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16180011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 07:54:39 +00:00
dcarney@chromium.org
3c8a79caba
ReturnValue::Set(uint32_t) is wrong
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16365008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 07:34:25 +00:00
rossberg@chromium.org
372457a793
Allow smis for singleton types
...
To that end, introduce a generic Box struct.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16562003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:40:28 +00:00
verwaest@chromium.org
16199c63d8
Initialized representations of computed values to None.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14721009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:21:35 +00:00
dcarney@chromium.org
6f5d899248
add function to test whether string contents are definitely one byte
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16530003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:16:52 +00:00
dcarney@chromium.org
98b97d9edb
build fix for 14973
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15692020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 12:32:32 +00:00
dcarney@chromium.org
c6519a142f
update test to test new style property handlers
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15769014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 12:23:37 +00:00
dcarney@chromium.org
2380eff265
Remove V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
...
Blink has migrated to use the new style visitors.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16360005
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 13:36:18 +00:00
yangguo@chromium.org
7f8a3d803c
Make assertion scopes thread safe.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15691017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:32:22 +00:00
dcarney@chromium.org
7d55c16389
remove V8_ALLOW_ACCESS_TO_PERSISTENT_IMPLICIT and V8_ALLOW_ACCESS_TO_PERSISTENT_ARROW
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15979014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 10:02:02 +00:00
dcarney@chromium.org
595d0ea8b0
remove old MakeWeak
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16160010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 08:17:04 +00:00
dcarney@chromium.org
0fbfdf1699
ReturnValue::Set needs to check for empty handles
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16073010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-31 11:06:50 +00:00
yurys@chromium.org
09959efe41
Add support for //# sourceURL similar to deprecated //@ sourceURL one.
...
BUG=v8:2702
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/15859010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 12:40:21 +00:00
dcarney@chromium.org
ccae2a75ca
remove remaining V8_ALLOW_ACCESS_TO* defines from test classes
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16032010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 11:04:10 +00:00
dcarney@chromium.org
f16ebc61c9
Delete old GC related APIs.
...
Blink doesn't use them any more, and they have no other known users either.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16124004
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:52:01 +00:00
dcarney@chromium.org
515aec2014
Transforming PersistentHandleVisitor to not need to copy Persistent handles.
...
This gets rid of more places where Persistent handles are copied
(see crbug.com/236290 ).
Transition plan: after this CL, Blink will be modified to work both with and
without the #define, then the #define will be removed from V8.
The corresponding Blink side changes are in https://codereview.chromium.org/15670010/ .
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15974006
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:48:37 +00:00
dcarney@chromium.org
fec64cd698
remove most remaining V8_ALLOW_ACCESS_TO* defines
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15994003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:39:37 +00:00
dcarney@chromium.org
7b82ad9b98
de-isolate remaining persistent calls
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:32:45 +00:00
dcarney@chromium.org
ff2a76b5d5
remove most V8_ALLOW_ACCESS_TO_* defines from test classes
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15964004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 11:54:52 +00:00
dcarney@chromium.org
eecc9ff8f1
remove use of context scope with persistent argument
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15837007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 10:36:21 +00:00
yurys@chromium.org
9974d932b2
Deprecate profiler methods that accept security origin
...
Now that the only known client console.profiles was removed from Blink:
https://src.chromium.org/viewvc/blink?revision=151136&view=revision
https://src.chromium.org/viewvc/blink?revision=151196&view=revision
this method can be deprecated and all the code that supports filtering
CPU profiles based on security origins can be later removed.
Drive-by fix: in line with CpuProfiler changes deprecated HeapProfiler::FindHeapSnapshot to reduce v8 API surface. FindHeapSnapshot may well be implemented based on existing GetSnapshotCount/GetSnapshot and it is only used in the tests.
BUG=None
R=jkummerow@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/16114002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-28 08:00:16 +00:00
dcarney@chromium.org
f69727d849
Add template parameter to ReturnValue::Set.
...
E.g., v8-i18n wants to set the return value with a different type of a Persistent.
BUG=NONE
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16102002
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 14:34:16 +00:00
dcarney@chromium.org
81e5778718
make isolate accessible from returnvalue
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16021010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 11:50:08 +00:00
dslomov@chromium.org
fc73052dc2
Externalization API for ArrayBuffer
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15001041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 10:01:42 +00:00
dcarney@chromium.org
366948840a
de-isolate Persistent::Dispose
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15648008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 08:19:27 +00:00
verwaest@chromium.org
36e91242fd
Make Object.freeze fast
...
This patch both speeds up the freeze operation itself, but also
allows properties to remain in fast mode. Objects with non-empty
elements backing stores still end up with slow elements.
Relanding r14758 and r14759 with fix for Test262: only mark properties
and elements READ_ONLY if they are not JS setter/getters. Tightened up
tests to assert frozen-ness, and added targeted tests for the new code
(covering accessors).
BUG=v8:1858, 115960
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15691007
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-23 07:05:58 +00:00
adamk@chromium.org
4d48bb832f
Revert "Make Object.freeze fast"
...
and "Fix Object.freeze on dictionary-backed arrays to properly freeze elements"
This reverts r14758 and r14759 due to introducing failures in Test262
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/15681004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 21:27:00 +00:00
adamk@chromium.org
648e99e308
Make Object.freeze fast
...
This patch both speeds up the freeze operation itself, but also
allows properties to remain in fast mode. Objects with non-empty
elements backing stores still end up with slow elements.
BUG=v8:1858, 115960
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/14888005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 18:53:58 +00:00
ulan@chromium.org
aadfc39a12
Fix Windows shared library build.
...
We cannot dll-export templates.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15697006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 15:12:07 +00:00
dcarney@chromium.org
64aa48349e
build fix for 14738
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15688003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 07:32:36 +00:00
dcarney@chromium.org
1045d62733
implement fast ReturnValue setters
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15398008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-22 06:35:38 +00:00
dcarney@chromium.org
881476a7af
new style of property/function callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12494012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 06:36:24 +00:00
dslomov@chromium.org
2ff3e2e0f4
Preallocate transitioned maps for TypedArrays.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/15172003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 15:23:53 +00:00
svenpanne@chromium.org
cfe3e039ca
Don't use anonymous types declared in an anonymous union.
...
They are a non-standard extension (probably in C1X, IIRC), but clang is unhappy
with them when -Wnested-anon-types is enabled, which seems to be implied by
-pedantic.
With this change and the previous fix for clang, we are now -Werror clean, even
on clang 3.3.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14850016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-14 12:04:04 +00:00
dcarney@chromium.org
b774c3edfe
stop using AsciiValue
...
TBR=svenpanne@chomium.org
BUG=
Review URL: https://codereview.chromium.org/15129002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 14:18:05 +00:00
danno@chromium.org
05e8e0e7b4
Elide hole checks on KeyedLoads of holey double arrays
...
Improves NavierStokes by about 5%
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/15014020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-13 07:35:26 +00:00
mstarzinger@chromium.org
d97fe8d4df
Add Persistent::ClearAndLeak.
...
This will be relevant after Persistent is changed to Dispose itself when
destructed. With Persistent::ClearAndLeak, Blink can take the ownership of the
object pointed by a Persistent and avoid it getting destructed.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15023010
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 14:04:51 +00:00
wingo@igalia.com
3f09e0a3d8
Remove separate maps for function instances
...
ES3 specified that functions created via Function() would have
enumerable prototypes, unlike function literals. For this reason, V8
has always had two prototypes for functions: "function_map" for
literals, and "function_instance_map" for "function instances": those
functions created by Function().
However, since 2009 or so, both maps have been the same! Both have had
writable, non-enumerable prototypes. Moreover, ES5 changed to specify
that function instances would have non-enumerable prototypes.
This patch removes the separate maps for function instances in sloppy
and strict mode.
R=mstarzinger@chromium.org
TEST=mjsunit/function-prototype
BUG=
Review URL: https://codereview.chromium.org/14829005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 12:59:20 +00:00
mstarzinger@chromium.org
0a224352ad
Deprecate the version of Context::New which returns a Persistent.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15059016
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 12:48:53 +00:00
mstarzinger@chromium.org
04a5b3d6b6
Revert "deprecate Context::New which returns Persistent"
...
This reverts r14573 because of test failures in no-snapshot mode in the
cctest/test-debug/ScriptCollectedEventContext test case.
TBR=dcarney@chromium.org ,svenpanne@chromium.org
TEST=cctest/test-debug/ScriptCollectedEventContext
Review URL: https://codereview.chromium.org/15038002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 16:28:51 +00:00
dcarney@chromium.org
386de8010b
deprecate Context::New which returns Persistent
...
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/14793004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:29:24 +00:00
dcarney@chromium.org
44ec65b1e1
Add Persistent<T>::Reset which disposes the handle and redirects it to point to another object.
...
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14788013
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 12:37:22 +00:00
dcarney@chromium.org
42a8ff87ba
add weakcallback without persistent copying
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14908004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 10:44:30 +00:00
dcarney@chromium.org
0cf128390f
deprecate WriteAscii and MayContainNonAscii
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14638003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 06:47:24 +00:00
dcarney@chromium.org
2e856d2c16
expose AssertNoAllocation to api
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:28:02 +00:00
dcarney@chromium.org
cf5ff5a14c
first step to remove unsafe handles
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12729023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:18:42 +00:00
dslomov@chromium.org
6e86141916
Implementation of Uint8ClampedArray.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14657003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 11:36:48 +00:00
dslomov@chromium.org
1469acaa7f
Add Value::Is* methods for typed arrays and ArrayBuffer
...
R=rossberg
BUG=
Committed https://code.google.com/p/v8/source/detail?r=14506
Review URL: https://codereview.chromium.org/13977018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:53:27 +00:00
dslomov@chromium.org
3af1cc1072
Revert "Fix typo"
...
This reverts commit r14506 (that was commited with a wrong description).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:49:20 +00:00
dslomov@chromium.org
b029ad4201
Fix typo
...
R=rossberg@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=14505
Review URL: https://codereview.chromium.org/13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:02:22 +00:00
dslomov@chromium.org
3fd6bb51f0
First cut at API for native Typed Arrays.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14195034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 11:09:03 +00:00
dcarney@chromium.org
0a32b57594
HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14509012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 11:34:44 +00:00
dcarney@chromium.org
f28bd182b0
forgot parends around macro arg
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14334009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 10:52:14 +00:00
dcarney@chromium.org
d0f9b7386b
Defer slow branch of GetAlignedPointerFromInternalField
...
BUG=
Review URL: https://codereview.chromium.org/14137026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 07:28:08 +00:00
hpayer@chromium.org
7ed7af2f9f
Tell the GC prologues to construct RetainedObjectInfos only when needed.
...
The GC prologue is called by the GC, but also by the heap snapshotter. The
RetainedObjectInfos are only needed by the heap snapshotter, so it's wasteful to
construct them always. (And it will be even more wasteful when Blink migrates to
the new GC APIs, since after that point it no longer knows about object groups.)
BUG=
Review URL: https://codereview.chromium.org/14471028
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:08:10 +00:00
dslomov@chromium.org
44f2d534b1
First cut at API for ES6 ArrayBuffers
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13958007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:02:23 +00:00
mstarzinger@chromium.org
e7c1f322a4
New GC APIs, try 2.
...
With these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=
Review URL: https://codereview.chromium.org/14007008
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 15:59:23 +00:00
dcarney@chromium.org
061f523b5a
Change cctest/test-lockers to not copy persistent handles around.
...
Instead, create Local handles to pass them around. This also means that the
code needs to be shifted around a bit such that a handle scope exists when
creating threads.
Review URL: https://codereview.chromium.org/14150017
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:23:46 +00:00
yangguo@chromium.org
555c78c513
create uniform string api
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12426015
Patch from Dan Carney <dcarney@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 15:20:28 +00:00
yangguo@chromium.org
4d1362720f
Add methods to allow resuming execution after calling TerminateExecution().
...
R=mvstanton@chromium.org
BUG=v8:2361
Review URL: https://chromiumcodereview.appspot.com/14401008
Patch from Andrew Paprocki <andrew@ishiboo.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 15:01:45 +00:00
mstarzinger@chromium.org
091f0b7f35
Revert the commits adding new GC-related APIs.
...
We need to solve efficiency problems first.
This reverts the following revisions: 14283 14286 14221 14215
BUG=
Review URL: https://codereview.chromium.org/14294009
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 16:37:04 +00:00
jkummerow@chromium.org
d666b24255
Fix shared library build of preparser: properly #undef V8EXPORT
...
Review URL: https://codereview.chromium.org/14293010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:55:45 +00:00
mstarzinger@chromium.org
e8bc8d76ae
New GC related APIs: Implicit references.
...
When using these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=NONE
Review URL: https://codereview.chromium.org/14175005
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:57:01 +00:00
danno@chromium.org
f5b660ac97
Intel VTune integration for V8/d8
...
In this patch, we added the JIT code event handler for Vtune. Most of the code is in the
folder src/third_party/vtune. Two APIs are added in include/v8.h to get the requirement info
from V8.
We add the v8_enable_vtunejit parameter for GYP to enable these Vtune code compilation.
vTune::InitilizeVtuneForV8() is invoked in the embedder of V8 to make sure it's invokded if
vtune support is enabled.
Review URL: https://codereview.chromium.org/11574031
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 12:48:27 +00:00
yurys@chromium.org
1c8f45f786
Mark non-isolatified profiler API as V8_DEPRECATED
...
BUG=None
Review URL: https://codereview.chromium.org/12413027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 15:29:05 +00:00
mstarzinger@chromium.org
45125e6480
New GC related APIs.
...
When using these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=NONE
Review URL: https://codereview.chromium.org/13786002
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 14:53:03 +00:00
rossberg@chromium.org
dc72037e10
ES6 symbols: extend V8 API to support symbols
...
Specifically:
- Introduce Symbol and SymbolObject classes.
- Generalise Object::Has and Object::Delete to arbitrary Value-typed keys.
- Generalise some places in the API implementation from String to Name.
It is not possible to intercept symbol-named properties. That is consistent with the idea that symbols are private and should not leak.
R=svenpanne@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/13626002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 12:16:29 +00:00
mstarzinger@chromium.org
a22790bfed
Change Context::New to not create persistent handles.
...
This moves the responsibility of putting a new context into a persistent
handle to the embedder. Also it removes one API function where the copy
constructor for persistent handles is needed.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/13799003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 09:34:37 +00:00
svenpanne@chromium.org
d04de1fe1a
Move context retrieval method around. Use delegation for implementation.
...
This is a refactoring of https://code.google.com/p/v8/source/detail?r=14146 .
Review URL: https://codereview.chromium.org/13940003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 07:34:32 +00:00
haraken@chromium.org
c638555853
Pass an isolate to GetCurrent()
...
TEST=test-api.cc:GetCallingContextCallback
Review URL: https://chromiumcodereview.appspot.com//13426002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-05 02:17:56 +00:00
mstarzinger@chromium.org
9e757a604c
Make __proto__ a real JavaScript accessor property.
...
This turns the __proto__ callback from a foreign callback into a real
JavaScript accessor. It makes the accessor behavior of this property
explicit.
R=rossberg@chromium.org
BUG=v8:1949,v8:2606
TEST=mjsunit/regress/regress-2606
Review URL: https://codereview.chromium.org/13533004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-04 12:10:23 +00:00
yurys@chromium.org
359d4a2869
Isolatify CPU profiler public API
...
Relanding r14006 and r14009 that were reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13460002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 08:16:53 +00:00
yurys@chromium.org
04cb86899c
Deprecate HeapSnapshot type
...
Re-landing r14005 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13430003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 08:09:59 +00:00
yurys@chromium.org
047f6f97d9
Isolatify HeapProfiler
...
Re-landing r13997 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13458003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 08:03:01 +00:00
yurys@chromium.org
c7532f0f0b
Allow recording individual samples in addition to the aggregated CPU profiles
...
Re-landing r13980 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13454002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 07:48:25 +00:00
rossberg@chromium.org
83d4a41dec
ES6 symbols: turn symbols into a proper primitive type
...
(qua last week's TC39)
Specifically:
- Install Symbol constructor function on the global object.
- Adjust code generation for typeof.
- Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof.
- Remove hack that allowed symbols as constructor results, and some other special cases.
- Remove symbol_delegate and GetDelegate function.
- Extend ToBoolean stub to handle symbols.
- Extend ToNumber to return NaN on symbols.
- Poison symbol's toString function, and thereby ToString on symbols.
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 16:33:50 +00:00
danno@chromium.org
ed3809c318
Maintain API compatibility with older versions of V8.
...
Revert "Allow recording individual samples in addition to the aggregated CPU profiles"
Revert "Isolatify CPU profiler"
Revert "Isolatify HeapProfiler"
Revert "Deprecate HeapSnapshot type"
Revert "Isolatify CPU profiler public API"
Revert "MSVS compilation fix after r14006"
Revert "Add methods to allow resuming execution after calling TerminateExecution()."
R=jkummerow@chromium.org ,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/12475016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 14:42:17 +00:00
yangguo@chromium.org
53adf3b19c
Add methods to allow resuming execution after calling TerminateExecution().
...
Two new methods are added to allow embedders to determine that execution
should be resumed at a particular point in the stack without being forced
to unwind all JS frames.
* V8::CancelTerminateExecution() -- When execution is terminated via a call
to V8::TerminateExecution(), this method can be called to clear the
termination exception so that the engine can continue to be used.
* TryCatch::HasTerminated() -- When a TryCatch has caught a termination
exception, HasTerminated() will return true to indicate it is valid to
call V8::ResumeExecution() if desired.
A test case is added to cctest/test-thread-termination.cc.
BUG=v8:2361
Patch from Andrew Paprocki <andrew@ishiboo.com>.
Review URL: https://chromiumcodereview.appspot.com/11142013
Patch from Andrew Paprocki <andrew@ishiboo.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 10:47:34 +00:00
yurys@chromium.org
95bfca8828
Isolatify CPU profiler public API
...
BUG=None
Review URL: https://codereview.chromium.org/12950004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 13:07:48 +00:00
yurys@chromium.org
8204dfa186
Deprecate HeapSnapshot type
...
There is only one type of heap snapshot - kFull and we are not going to add any new types.
BUG=None
Review URL: https://codereview.chromium.org/12943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 12:41:00 +00:00
yurys@chromium.org
d447716029
Isolatify HeapProfiler
...
Added instance method on v8::Isolate for retrieving instance of v8::HeapProfiler for that isolate. All static methods of v8::HeapProfiler are deprecated, corresponding instance methods are added to v8::HeapProfiler.
All static methods on v8::internal::HeapProfiler were converted into instance ones.
BUG=None
Review URL: https://codereview.chromium.org/12907006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 08:38:17 +00:00
yurys@chromium.org
31e51f98fa
Sort forward declarations in v8.h in alphabetical order
...
BUG=None
Review URL: https://codereview.chromium.org/12554013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 15:17:22 +00:00
yurys@chromium.org
a5be5da2e8
Allow recording individual samples in addition to the aggregated CPU profiles
...
CPU profiler API is extended with methods that allow to retrieve individual samples from profile. Each sample is presented as a pointer to a node in the top-down profile tree. The samples will let us tie JS performance to time.
BUG=None
Review URL: https://codereview.chromium.org/12919002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 08:11:56 +00:00
alph@chromium.org
9f7300043b
Remove kContext node type introduced in r13936
...
It has been decided not to pollute node types with extra values.
Review URL: https://codereview.chromium.org//12833005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 13:07:39 +00:00
yurys@chromium.org
b3ee84d361
Remove bottom-up CPU profile
...
Bottom-up view of CPU profile can be restored based on top-down profile data. So there is no need to spend resources on creating both of them inside V8.
BUG=None
Review URL: https://codereview.chromium.org/12825003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:46:45 +00:00
svenpanne@chromium.org
53310ac152
Added a version of the v8::HandleScope constructor with an Isolate and use that consistently.
...
I tried to limit the use of v8::Isolate::GetCurrent() and v8::internal::Isolate::Current() as much as possible, but sometimes this would have involved restructuring tests quite a bit, which is better left for a separate CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12716010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:06:53 +00:00
dcarney@chromium.org
fbe34d4ba5
remove latin-1 flag
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12700008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 20:04:50 +00:00
alph@chromium.org
1afc70a332
Fix huge heap snapshot when a heavily shared context has many variables
...
Prevously v8 put a link to each context variable into a function where
the variable is visible.
Because of that if there are N functions sharing a context having M variables
then N*M links were created for the snapshot.
The fix makes v8 to put the links into the context object.
BUG=145687
TEST=test-heap-snapshot/ManyLocalsInSharedContext
Review URL: https://codereview.appspot.com/7715044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 17:38:04 +00:00
svenpanne@chromium.org
8db737a583
Made AdjustAmountOfExternalAllocatedMemory an instance method of Isolate
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 13:15:09 +00:00
svenpanne@chromium.org
17500545a4
Enable deprecatations (again).
...
Hopefully we will win the race this time...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12554004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-08 08:37:28 +00:00
ulan@chromium.org
dc2eb5af87
Revert "Enable deprecations again." because of Chrome compile error.
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12493008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 14:50:26 +00:00
dcarney@chromium.org
25058ddd85
Runtime version of declarative native accessors.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12297012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 11:42:58 +00:00
svenpanne@chromium.org
4a7991321d
Enable deprecations again.
...
Review URL: https://codereview.chromium.org/12590003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-07 11:30:36 +00:00
rossberg@chromium.org
764e1a0fcf
ES6 symbols: Introduce Symbol class, along with abstract Name class
...
The new instance type 'Symbol' represents ES6 symbols (a.k.a. private/unique names). Currently, symbols are simple data objects that only carry a hash code, random-generated upon allocation.
The new type 'Name' now serves as the common super class for strings and symbols, and is supposed to represent property names. We will eventually migrate APIs from String to Name for the standard key type.
Strings and symbols share the same hash field representation, via the Name class. This way, we should be able to use the same code paths for symbols and internalized strings in most cases. Also, Symbol's instance type code is allocated adjacent to internalized string codes in the enum, allowing a simple range check for the common case.
Baseline CL: https://codereview.chromium.org/12210083/
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12223071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 10:34:31 +00:00
rossberg@chromium.org
55f93b5532
Renamed "symbols" to "internalized strings" throughout the code base,
...
in preparation of the introduction of ES6 'symbols' (aka private/unique names).
The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders.
The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently).
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12210083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-28 17:03:34 +00:00
yangguo@chromium.org
7145671392
Make message listener API backwards compatible.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12217066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-27 14:35:39 +00:00
danno@chromium.org
be8e8f7528
Improve the JitCodeEventHandler API to add support for line position information.
...
This includes:
* adding the CODE_ADD_LINE_POS_INFO, CODE_START_LINE_INFO_RECORDING, CODE_END_LINE_INFO_RECORDING event and the corresponding functionality.
* adding the JITCodeLineInfo struct to record the code line info. I added this definition because Danno mentioned that "we'd like to cleanup and decouple the external debugging functionality"
* some other small changes.
Review URL: https://chromiumcodereview.appspot.com/12223027
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 18:06:12 +00:00
yangguo@chromium.org
072bad2ed5
Enable Latin-1
...
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12039038
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-18 10:27:46 +00:00
dcarney@chromium.org
0da6e525b7
Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:33:08 +00:00
svenpanne@chromium.org
3b08a1f82c
Added new GetHeapStatistics API entry and deprecated old one.
...
Simplified the HeapStatistics class a bit, following Uncle Bob's advice that
adding accessors to DTOs only satisfies some design fundamentalists, but serves
no other purpose. :-)
Review URL: https://codereview.chromium.org/12207076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-08 12:41:55 +00:00
svenpanne@chromium.org
52d10a68cb
Add Isolate parameter to Persistent class.
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:31:46 +00:00
mstarzinger@chromium.org
c8cf5d90aa
Implement VisitHandlesInNewSpaceWithClassIds()
...
BUG=
TEST=test-api.cc::PersistentHandleInNewSpaceVisitor
Review URL: https://codereview.chromium.org/11365131
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 15:53:16 +00:00
yurys@chromium.org
250023a68d
Implicit references are missing in heap profiles
...
Review URL: https://codereview.chromium.org/11953043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-24 07:54:40 +00:00
svenpanne@chromium.org
8404f71d14
Added a workaround for Windows compilation problems related to V8EXPORT.
...
The underlying problem is a bit unclear, but at least this CL makes VS happy.
BUG=v8:2507
Review URL: https://codereview.chromium.org/12039037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 12:04:55 +00:00
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
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
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
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