ishell@chromium.org
d1190c503d
Revert "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
This reverts commit r22082 for breaking arm64 build.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/360023003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 10:19:31 +00:00
ishell@chromium.org
cea1824f58
Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/355793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 09:44:43 +00:00
yangguo@chromium.org
0133d96be3
Remove script collected debug event.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/358873005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 12:10:43 +00:00
yurys@chromium.org
0339d069d9
Add OnCompileError handler and v8::CompileError debug event.
...
This event is generated when the parser can not generate code.
R=vsevik@chromium.org , yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/264333007
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 16:03:52 +00:00
marja@chromium.org
62ffc7de20
New try: Parser: Delay internalizing strings and values
...
This is a reincarnation of r21841.
The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/335293004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:03:24 +00:00
svenpanne@chromium.org
52fa41c3df
Make Object::IsFoo const.
...
Removed a few useless const_casts on the way.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/351573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 09:47:25 +00:00
vogelheim@chromium.org
7b7bb25a24
Support external startup data in V8.
...
[Re-retry of r21696 and r21739]
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=jochen@chromium.org
Review URL: https://codereview.chromium.org/334913004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:52:17 +00:00
jochen@chromium.org
ce02221828
Add a use counter API
...
This lets embedders track certain features of v8 and the number of times
they are used
BUG=none
R=svenpanne@chromium.org , marja@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/346233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:46:58 +00:00
plind44@gmail.com
b6b57605ed
MIPS: Fix big-endian after r21774/r21803.
...
Fix big-endian ordering of InstanceType and BitField by always loading
the pair as a 16-bit value, even in the API accessor. Clean up some
assertions.
R=danno@chromium.org , mtbrandy@gmail.com
Review URL: https://codereview.chromium.org/334403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 23:02:36 +00:00
yurys@chromium.org
a862f7819b
Added Message::GetScripOrigin.
...
Replaced Message::GetResourceName with GetScriptOrigin().ResourceName().
Now, GetScriptOrigin().ResourceName() function returns the resource name or sourceURL (from //# sourceURL=) for the script from where the function causing the error originates.
Method GetScriptResourceName() deprecated. Use GetScriptOrigin()->ResourceName() instead.
Function used in Blink: https://codereview.chromium.org/260513004/
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/265593002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 07:44:05 +00:00
svenpanne@chromium.org
48e1ae334f
Make the internal parts of our external API a bit more const-correct.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/343583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 07:20:44 +00:00
marja@chromium.org
9ad39a8043
Revert "Parser: Delay internalizing strings and values." (r21841)
...
Plus the fixes on top.
Reason: regresses benchmarks (JSBench) and perf (morejs).
TBR=rossberg@chromium.org
BUG=385404
LOG=N
Review URL: https://codereview.chromium.org/345513003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 07:30:56 +00:00
marja@chromium.org
a290cf8cda
Parser: Delay internalizing strings and values.
...
This is needed so that we can run Parser on a non-main thread (independent
of the Isolate and the V8 heap).
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/314603004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 13:31:56 +00:00
jkummerow@chromium.org
6e29768eb6
Have one, long-lived map for bound functions.
...
This avoids creating a new map for every bound function. Bonus: some cleanup in Runtime_FunctionBindArguments.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/335653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 12:19:04 +00:00
svenpanne@chromium.org
510ea9e529
Reland "Rename kIs64BitArch with kRequiresCodeRange."
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/331823002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 11:06:42 +00:00
wingo@igalia.com
dfb1c7dc9e
For-of calls [Symbol.iterator]() on RHS to get iterator
...
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N
Review URL: https://codereview.chromium.org/332663004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
rossberg@chromium.org
d757f378d3
Add v8::Promise::Then.
...
Blink needs v8::Promise::Then to implement ScriptPromise::then.
Blink-side CL: https://codereview.chromium.org/316453002
BUG=371288
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/314553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 11:33:30 +00:00
svenpanne@chromium.org
f67f8fc4c5
Removed dead API entries.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/322293003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:12:35 +00:00
machenbach@chromium.org
6ccf6f8bf8
Revert "Support external startup data in V8."
...
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.
Conflicts:
src/d8.cc
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/328693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
svenpanne@chromium.org
e02158e8c1
Make presubmit script happy again.
...
No clue why this seems to be an issue only for me, though...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/321123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:24:00 +00:00
vogelheim@chromium.org
ba9f391bc0
Support external startup data in V8.
...
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]
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=jochen@chromium.org
Review URL: https://codereview.chromium.org/315033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
marja@chromium.org
16be5bb377
Compilation API: next step of deprecations.
...
Remove deprecated functions and deprecated Script::GetId (which was supposed to
be deprecated, but Chrome was using it).
R=dcarney@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/315003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:02:18 +00:00
jochen@chromium.org
a83b1b9cb3
Move most of the implementation of AdjustAmountOfExternalMemory to v8.h
...
This reduces the overhead of reporting allocations to v8 to an
acceptable level.
BUG=none
LOG=n
R=dcarney@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/310393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:44:42 +00:00
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