Commit Graph

667 Commits

Author SHA1 Message Date
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
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
c24ce076e9 Introduce a v8::Platform class that bundles embedder callbacks
Also provide a default implementation to use in cctests.

For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.

BUG=v8:3015
R=svenpanne@chromium.org, danno@chromium.org
LOG=no

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:36 +00:00
jochen@chromium.org
34b534c906 Add a proper way to pass the number of processors to V8
BUG=321060
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:08:37 +00:00
jochen@chromium.org
062f0b0b21 Deprecate v8::External::New without Isolate parameter
R=bmeurer@chromium.org, machenbach@chromium.org, svenpanne@chromium.org
LOG=y
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 12:20:08 +00:00
yangguo@chromium.org
e2563d7a8e Make number of available threads isolate-dependent and expose it to ResourceConstraints.
R=svenpanne@chromium.org
BUG=v8:2991
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 11:52:47 +00:00
jochen@chromium.org
c6705f5e40 Deprecate v8::Locker::{Start,Stop}Preemption
BUG=v8:3004
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 11:37:32 +00:00
rmcilroy@chromium.org
96b18590fd Enable physical memory argument to be passed as an argument to ConfigureResourceConstraintsForPlatform.
BUG=312241
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 14:05:06 +00:00
rossberg@chromium.org
67edfbaef8 Fix warnings
R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:18:52 +00:00
rossberg@chromium.org
cec8383cff Provide private symbols through internal APIs
Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.

On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:

  NEW_PRIVATE(print_name)
  HAS_PRIVATE(obj, sym)
  GET_PRIVATE(obj, sym)
  SET_PRIVATE(obj, sym, val)
  DELETE_PRIVATE(obj, sym)

In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.

These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 10:34:06 +00:00
jkummerow@chromium.org
6aad7fb992 Fix compilation with GCC 4.8
BUG=v8:2767,v8:2149
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 12:09:38 +00:00
jochen@chromium.org
7df10557a5 Add explicit Isolate parameter to External::New
We can't deprecate the non-Isolate version yet but soon will.

R=svenpanne@chromium.org, svenpanne@google.com
BUG=266838

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 11:44:58 +00:00
mstarzinger@chromium.org
3e9786ef24 Add three string constants from parser to the root-set.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 17:05:50 +00:00
bmeurer@chromium.org
3c8cee2f8d Add isolate parameter to SetResourceConstraints, and deprecate version which depends on current isolate.
BUG=None
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 06:59:32 +00:00
yurys@chromium.org
8385804c55 Expose v8::Function::GetDisplayName to public API.
BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 12:38:06 +00:00
yurys@chromium.org
87b37f81c1 Revert "Expose v8::Function::GetDisplayName to public API."
This reverts commit 54c7b9af65dd349405944bd9ae2f064202dc6e1d.

The new test fails in debug mode.

BUG=chromium:17356
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 15:46:15 +00:00
yurys@chromium.org
5177d5b5cd Expose v8::Function::GetDisplayName to public API.
BUG=chromium:17356
R=mstarzinger@chromium.org, yurys@chromium.org, yangguo@chromium.org, yurys

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:57:19 +00:00
yurys@chromium.org
c71eccf95f Expose v8::Function::IsBuiltin to public API.
This will be used by DevTools so that we could generate a better preview in console. Namely, we could assume that a preview of an object is lossless if all its member functions are builtin.

We also may want to expose this to DevTools users via remote debugging protocol in Debugger.FunctionDetails struct.

BUG=chromium:261470
R=mstarzinger@chromium.org, yurys@chromium.org, dcarney@chromium.org, yurys

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 14:50:20 +00:00
marja@chromium.org
f039f334f5 Enable calling the SetReference* & SetObjectGroupId functions with a Persistent<SubclassOfValue>.
This is needed for https://codereview.chromium.org/26792002/

BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 11:48:03 +00:00
ulan@chromium.org
83c63cf555 Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
Second stage of implementing an out-of-line constant pool on Arm.  This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools.  Nothing uses this object yet.

BUG=
R=ulan@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:35:06 +00:00
ulan@chromium.org
49b739dec2 Fix windows shared library build.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-10 10:59:02 +00:00
dcarney@chromium.org
7fae9959e9 remove Isolate::Current from ScriptData and Script
R=mstarzinger@chromium.org
BUG=

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

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

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

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

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

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

This might be responsible of the Linux Webkit test failures.

BUG=
TBR=mstarzinger@chromium.org

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

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

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

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:09:51 +00:00
dcarney@chromium.org
6dd72b6416 change of V8_DEPRECATED to be enabled behind a gyp flag
also add a deprecation message for newer gcc versions

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:28:23 +00:00
mstarzinger@chromium.org
f03dbcff94 Function::Call and Object::CallAsFunction APIs should allow v8::Value as a receiver
Since the primitive values can be a receiver of strict mode functions in
ECMA262 5.1th, v8::Function::Call and Object::CallAsFunction should take
v8::Value as a receiver instead of v8::Object.

BUG=v8:2915
TEST=cctest/test-api
R=mstarzinger@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

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

R=yangguo@chromium.org

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 15:32:26 +00:00
dcarney@chromium.org
b81c581b38 make v8::Locker not use Isolate::GetCurrent()
R=mstarzinger@chromium.org
BUG=

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

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

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

BUG=292928
R=hpayer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:53:07 +00:00
machenbach@chromium.org
936802ae21 Revert "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime." and "Fix Windows build of defaults.cc."
This reverts commit r16964 and r16968 due to performance regressions in octane.

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:45:14 +00:00
dcarney@chromium.org
7fcd0f395e remove Local::New with no isolate parameter
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 07:04:02 +00:00
dcarney@chromium.org
47e32d0339 Add EscapableHandleScope to api to fix problems with HandleScope::Close
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 13:46:37 +00:00
hpayer@chromium.org
a57300fb9e Add methods to enable configuration of ResourceConstraints based on limits derived at runtime.
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous.  This change also adds OS::TotalPhysicalMemory to platform.h.

BUG=292928
R=danno@chromium.org, hpayer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 13:31:19 +00:00
dcarney@chromium.org
582e6ad41b build fix for 16957 - broke shared builds
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 12:42:10 +00:00
marja@chromium.org
2dc3eca47d Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 2.
This step reorders the FunctionCallbackInfo fields.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 10:28:00 +00:00
hpayer@chromium.org
4078a89a27 Add -optimize-for-size flag to optimize for memory size (will be used by pre-aging CL), and remove the is_memory_constrained ResourceConstraint.
BUG=292928
R=hpayer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 09:40:13 +00:00
dcarney@chromium.org
7bad4ba648 remove uses of static oddball accessors using GetCurrent in advance of removal from api
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 08:21:48 +00:00
dcarney@chromium.org
8d549fb1c0 fix copy/paste error in r16955
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 07:43:09 +00:00
dcarney@chromium.org
2efd6aa179 add isolate parameter to ThrowException
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-26 07:37:59 +00:00
mstarzinger@chromium.org
45ab50673e Expose SameValue equality comparison algorithm
Since SameValue algorithm is defined formally in ECMA262 and V8 already
exported Equals and StrictEquals algorithms, SameValue should be exposed.
And in this issue, we fix the issue of Object::SameValue implementation,
SameValue(0.0, -0.0) returnes true.

BUG=v8:2909
TEST=cctest/test-api/Equality
R=mstarzinger@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-24 16:51:43 +00:00
machenbach@chromium.org
d59b8fe5d7 [Sheriff] Revert "Let SetEntropySource() fail if called after V8::Initialize()."
This reverts commit 16889 for breaking the webkit tests.

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 14:43:41 +00:00
bmeurer@chromium.org
c5751ce72c Let SetEntropySource() fail if called after V8::Initialize().
BUG=v8:2905
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 14:11:32 +00:00
dcarney@chromium.org
9a62b1dab7 move CopyablePersistentTraits to v8.h
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 11:27:07 +00:00
dcarney@chromium.org
86a2e4849a remove Isolate::GetCurrent from Context api functions
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-23 11:25:52 +00:00
dcarney@chromium.org
f34340033e new gc callbacks with isolate parameters
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 12:37:22 +00:00
dcarney@chromium.org
0e90c68908 reland 16744: add context save for GenerateFastApiCall
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 11:37:48 +00:00
dcarney@chromium.org
c09d00d1b0 revert 16744 for breaking build
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:53:56 +00:00
dcarney@chromium.org
0020146f24 add context save for GenerateFastApiCall
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-17 07:19:50 +00:00
svenpanne@chromium.org
7b41d6d491 Fixed shared_library build on Windows.
BUG=v8:2879
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-16 12:08:30 +00:00
mstarzinger@chromium.org
34edb73332 Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.

The field order will be:
holder
isolate
return value default value
return value
data
this

This step 1 reorders the PropertyCallbackInfo fields.

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

Committed: http://code.google.com/p/v8/source/detail?r=16673

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 14:32:14 +00:00
mstarzinger@chromium.org
e6d10e4243 Revert "Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1."
TBR=marja@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 10:03:56 +00:00
mstarzinger@chromium.org
541840f8c1 Refactoring PropertyCallbackInfo & FunctionCallbackInfo, step 1.
The goal is to unify PropertyCallbackInfo and FunctionCallbackInfo so that they
contain the same fields.

The field order will be:
holder
isolate
return value default value
return value
data
this

This step 1 reorders the PropertyCallbackInfo fields.

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 09:09:39 +00:00
bmeurer@chromium.org
8dbd822855 Reland "Deuglify V8_INLINE and V8_NOINLINE."
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 08:57:10 +00:00
mstarzinger@chromium.org
718a6a9a9e Revert r16648, r16641, r16638 and r16637.
Original descriptions were:
- "Refactor and cleanup VirtualMemory."
- "Fix typo."
- "Deuglify V8_INLINE and V8_NOINLINE."
- "Don't align size on allocation granularity for unaligned ReserveRegion calls."

Reasons for the revert are:
- Our mjsunit test suite slower by a factor of 5(!) in release mode.
- Flaky cctest/test-alloc/CodeRange on all architectures and platforms.
- Tankage of Sunspider by about 6% overall (unverified).

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 18:30:01 +00:00
dslomov@chromium.org
488ba18a13 Clean-up v8::ArrayBuffer::Allocator interface
BUG=v8:2823
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 12:54:28 +00:00
bmeurer@chromium.org
b60d340e08 Deuglify V8_INLINE and V8_NOINLINE.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 10:28:09 +00:00
titzer@chromium.org
562d8ddcb9 Remove dead strings from heap.h
BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-11 08:58:38 +00:00
svenpanne@chromium.org
4ef84b9240 Add a ResourceConstraint for the embedder to specify that V8 is running on a memory constrained device.
This enables us to specialize certain operations such that we limit memory
usage on low-memory devices, without reducing performance on devices which
are not memory constrained.

BUG=chromium:280984
R=svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 10:57:00 +00:00
svenpanne@chromium.org
d9bc6f7078 Move Maybe template into v8.h so it can be used by SetResourceConstraints
BUG=
R=svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 10:53:33 +00:00
dcarney@chromium.org
dcc93c9144 restore persistent dtor
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 09:24:53 +00:00
svenpanne@chromium.org
d571a91e4a Remove HandleScope default ctor.
BUG=chromium:236173
R=bmeurer@chromium.org, svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-10 06:43:23 +00:00
dcarney@chromium.org
3d855d4707 remove commented out code in v8.h
TBR=dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 10:26:25 +00:00
dcarney@chromium.org
8fa8ca8b1a temporarily remove persistent destructor to allow trunk push
TBR=dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 10:10:26 +00:00
dcarney@chromium.org
66c8b527e8 new persistent semantics
adds copying and autodispose as traits

R=marja@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 09:25:23 +00:00
dcarney@chromium.org
c20f87a654 add uncached Function::New
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:52:52 +00:00
dcarney@chromium.org
5b0a281604 revert 16584 for breaking build
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-09 07:16:24 +00:00
dcarney@chromium.org
ddc5d437bb add uncached Function::New
R=mstarzinger@chromium.org
BUG=

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-06 11:29:13 +00:00
dcarney@chromium.org
913b244bb5 invert Eternal::IsEmpty logic
R=svenpanne@chromium.org
BUG=v8:2870

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

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

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

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 07:34:34 +00:00
titzer@chromium.org
7bd61f8ca4 Remove OptimizedCodeEntry *sigh*.
BUG=
R=verwaest@chromium.org

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

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 14:54:59 +00:00
dcarney@chromium.org
740bfa5dd0 fix eternal casts
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-30 09:03:27 +00:00
yurys@chromium.org
1083d1f817 Remove deprecated profiler API
This change removes --prof-lazy command line flag that was introduced for the old CPU profiler implementation in Chrome DevTools. DevTools now use profiler API defined in v8-profiler.h

This change also removes methods for pausing resuming --prof profiler. These methods were deprecated in v.3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8.h#4629)

After this change the profiler will always start if --prof option is passed and can be stopped either in the tests or if write to log file fails.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-29 10:42:55 +00:00
titzer@chromium.org
22b70b0508 Add OptimizedCodeEntry as a new heap object type. An optimized code entry represents an association between the native context, a function, optimized code, and the literals. Such associations are needed by the deoptimizer and optimized code cache to efficiently find related optimized code and functions for a given context or shared function info.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-28 16:48:40 +00:00
haitao.feng@intel.com
b2ca7e0b0a Introduce SmiValuesAre31Bits and SmiValuesAre32Bits global predicate functions
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 14:13:40 +00:00
dcarney@chromium.org
166b6d0747 remove old style callbacks
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 11:47:52 +00:00
mstarzinger@chromium.org
fc68cb74e5 Add RemovePrototype to FunctionTemplate
This allows functions created from a FunctionTemplate to not have a
prototype property, which is required by DOM methods.

R=mstarzinger@chromium.org
BUG=chromium:272440

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:40:03 +00:00
dcarney@chromium.org
ad9cc8e716 js accessor creation on Template
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 11:59:14 +00:00
dcarney@chromium.org
b1bc71a510 abstract eternal into class
R=rossberg@chromium.org, svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 09:41:22 +00:00
bmeurer@chromium.org
7a2c253e24 Move OS/compiler/feature detection to public v8config.h header.
From now on the v8config.h header should be the one and
only file where we do (freaky) checks to detect OS, C++
compiler or certain compiler features. Since we need that
both internally and for the public API, the new v8config.h
is the proper place to add (everything is prefixed with V8_
so we are safe).

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 07:32:25 +00:00
mstarzinger@chromium.org
798809ce73 Adding missing operator!= for Handle and Persistent.
BUG=
R=mstarzinger@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 10:49:29 +00:00
bmeurer@chromium.org
aca068462f Fix -Wconversion warnings in external V8 headers.
BUG=v8:2830
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-09 10:33:08 +00:00
yangguo@chromium.org
5818d831c5 Make JSON::Parse return Local<Value>
It should be able to return Smi, etc. Not only JSObject.

BUG=v8:2821
TEST=cctest/test-api/JSONParseNumber
R=yangguo@chromium.org

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

Patch from Takeshi Yoshino <tyoshino@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 09:11:39 +00:00
dcarney@chromium.org
cd74a09886 expose eternal handle api
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-07 08:26:23 +00:00
yurys@chromium.org
2144dc2d0f Define V8EXPORT only in v8.h and use it in the other headers
V8EXPORT is defined in each header of V8 public API and the definitions already have some slight discrepancies. This CL makes all headers use the same definition in v8.h

BUG=None
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-06 14:37:35 +00:00
jochen@chromium.org
cb68e2cd9b Expose JSON parser through V8 API
BUG=v8:2821
TEST=cctest/test-api/JSONParse
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 11:14:46 +00:00
dcarney@chromium.org
207396101f introduce eternal handles
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 09:46:23 +00:00
dcarney@chromium.org
eb52c66fd0 IsNearDeath needs to include pending nodes
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-05 06:58:48 +00:00
dslomov@chromium.org
5230c19d8b Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 13:03:06 +00:00
dslomov@chromium.org
f8b80ca66d Revert "Add size_t length argument to v8::ArrayBuffer::Allocator::Free."
This reverts r16031 for breaking shared build.

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 12:56:53 +00:00
dslomov@chromium.org
1688f3c167 Add size_t length argument to v8::ArrayBuffer::Allocator::Free.
The previous implementation of Free is a deprecated overload now.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-02 12:19:22 +00:00
dslomov@chromium.org
4ebeda216d Speed-up 'new TypedArray(arrayLike)'.
Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:52:21 +00:00
dslomov@chromium.org
791e1a9cb2 Revert "Speed-up 'new TypedArray(arrayLike)'."
This reverts commit r15998 for breaking NaCl build.

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:47:39 +00:00
dslomov@chromium.org
d208eea478 Speed-up 'new TypedArray(arrayLike)'.
Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-01 08:19:51 +00:00
verwaest@chromium.org
e53471dbaa Remove elements transitions from the transition array.
This is preparatory work for reordering the transition tree. Since elements transitions will be at the root of the transition tree, runtime access to them is slow since we have to walk the transition tree backwards first. Hence remove the optimization that promoted them to a special field, requiring a pointer (mostly NULL) in every non-simple transition array.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 17:08:50 +00:00
mstarzinger@chromium.org
96fc677d25 Pipe a script's CORS status through V8 during compilation.
In order to properly sanitize exception data during a 'window.onerror'
handler, we need to know whether a script was served with proper CORS
headers at the time it was loaded into V8. This patch adds a single bool
to ScriptOrigin, and pipes that through the compiler to land on the
Script object. We can then retrieve the parameter when calling the
embedder's exception callback.

BUG=crbug.com/159566
R=mstarzinger@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 17:05:50 +00:00
svenpanne@chromium.org
31e56df122 Prepare some ValueOf renamings.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 07:05:15 +00:00
jochen@chromium.org
0826f85a02 Put object templates of the i18n extension on the heap object.
Using function local statics doesn't work, as we need the templates per
isolate.

I'm not #ifdef'ing the definitions out, because kEmptyStringRootIndex
changes depending on whether the two additional slots are present or
not.

BUG=v8:2745
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 16:01:02 +00:00
hpayer@chromium.org
3c0483af52 Fix TargetSpace() method for box type.
BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-23 19:05:00 +00:00
yurys@chromium.org
682a0d65c6 Deprecate v8::V8::Pause/ResumeProfiler
The methods were added to the public API in r1185 when Chrome DevTools were using the same output as produced for tick processor when --prof option is specified.

I don't see any existing clients of these methods and since they add a noticeable complexity to the profiler code I'd like to remove them.

BUG=None
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-23 13:44:15 +00:00
adamk@chromium.org
625a0e9759 Add map transition for observed objects
This patch enables objects to undergo a single transition when they become observed, avoiding the need to create a new map for every observed objects.

Observed objects which become unobserved does not cause another map transition and unobserved does not clear the observed bit on the map. The unobserved object.

R=verwaest@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-13 00:20:40 +00:00
jochen@chromium.org
97409c2363 Move InitializeICU() to the V8 API and use it.
I can't get rid of the enable_i18n flag yet, as we need to be able to
turn off all extensions for creating the snapshot.

BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 09:58:54 +00:00
mvstanton@chromium.org
67d9051bcd Create AllocationSite objects, pointed to by AllocationSiteInfo.
This creates a platform where we can do additional things with allocation sites,
other than just aid in reducing array transitions.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 10:02:16 +00:00
dslomov@chromium.org
7e0ee5301e Add internal fields to JSArrayBufferViews (JSTypedArray and JSDataView)
In Blink, JSTypedArray and JSDataView objects act as "wrappers" for C++
objects. Wrapping protocol in Blink requires all wrapper JavaScript objects
to have a certain amount of internal fields that Blink uses for
book-keeping (essentially a pointer to C++ object and some type
information). This change adds those internal fields to JSTypedArray and
JSDataView, in a similiar way to how it is done for JSArrayBuffer.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-05 10:12:36 +00:00
mstarzinger@chromium.org
de07db147f Ensure CheckInitialized is present independent of define.
This makes sure that the same symbols are present, independent of which
defines have been used while building V8. Otherwise only embedders with
compatible defines would be able to link against that binary.

R=danno@chromium.org
BUG=chromium:255779

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 12:57:15 +00:00
yurys@chromium.org
0ac0edb707 Test that profiler is stopped when isolate is being disposed
The only way to get v8::CpuProfiler instance in the V8 public API is to call v8::Iolate::GetCpuProfiler(). The method will return NULL if the isolate has not been initialized yet or has been torn down already. It is the client's reponsibility to make sure that CPU profiling has been stopped before disposing of the isolate.

This CL adds a test for this and several ASSRTS enforcing that assumptions. This allowed to be sure that heap is always setup when CPU profiling is being started. Based on that the number of places where already compiled functions are reported to the profiler event processor boils down to the single place (CpuProfiler::StartProcessorIfNotStarted). I'm going to rely on this assumption in further changes.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 12:32:52 +00:00
yangguo@chromium.org
cc2f01d31f Restore message when rethrowing in TryCatch.
Based on a patch contributed by Andrew Paprocki <andrew@ishiboo.com>.

R=jkummerow@chromium.org
BUG=
TEST=cctest/test-api/TryCatchNestedSyntax

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 10:54:39 +00:00
danno@chromium.org
1642f32d1c Improved function entry hook coverage
Adds more coverage for function entry hook, sufficient to capture profiles that are contiguous from C++, through JS and back out to C++.

R=danno@chromium.org

Committed: http://code.google.com/p/v8/source/detail?r=15361

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

Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 13:40:41 +00:00
ulan@chromium.org
475131b2b9 Revert r15361 "Improved function entry hook coverage" because of ARM build error.
R=siggi@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 15:31:06 +00:00
danno@chromium.org
8494f3bf25 Improved function entry hook coverage
Adds more coverage for function entry hook, sufficient to capture profiles that are contiguous from C++, through JS and back out to C++.

R=danno@chromium.org

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

Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-27 14:39:37 +00:00
loislo@chromium.org
53eb53f4af CPUProfiler: It is not clear why we are using Handle<Object> for scriptId. Lets flip it into Smi/int.
By the nature it is integer. So we can work with it as with Smi internaly and use int in the external API.

BUG=none
TEST=existing tests
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 14:57:47 +00:00
mstarzinger@chromium.org
6d92511162 Reland "Remove IsInitialized checks from inlined API functions."
The initialization sequence in Blink has been adapted to use explicit
isolate initialization instead of through calling v8::Null() as the
first API call.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 08:11:50 +00:00
dslomov@chromium.org
4308fb462d API for DataView.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:23:50 +00:00
mstarzinger@chromium.org
48c16454b1 Revert "Remove IsInitialized checks from inlined API functions."
This reverts r15277 due to failures in layout tests. Apparently Blink
still initializes the Isolate by calling v8::Null() as the first API
function on some paths.

TBR=svenpanne@chromium.org
TEST=webkit:crypto/worker-random-values-concurrent.html

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:10:40 +00:00
mstarzinger@chromium.org
1c22b2cd98 Make a Persistent ctor take const Persistent& instead of Persistent&.
BUG=
R=mstarzinger@chromium.org, svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 09:34:56 +00:00
mstarzinger@chromium.org
9ef18efff6 Remove IsInitialized checks from inlined API functions.
R=marja@chromium.org, svenpanne@chromium.org
TEST=cctest/test-api

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 08:58:01 +00:00
dslomov@chromium.org
91eb5f8d25 DataView implementation.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 13:02:38 +00:00
dcarney@chromium.org
8202410cca deprecate old style callbacks
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 12:53:19 +00:00
dcarney@chromium.org
43a805fc27 added type checks on fast return values
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 07:39:15 +00:00
dcarney@chromium.org
eeded306fd webkit build fix for 15142
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 12:53:19 +00:00
dcarney@chromium.org
a1d359d20e remove V8_USE_UNSAFE_HANDLES define
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 09:46:43 +00:00
dcarney@chromium.org
274221b06c build fix for 15107
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:55:42 +00:00
dcarney@chromium.org
8b2c26d736 remove most uses of raw handle constructors
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:27:09 +00:00
dcarney@chromium.org
9103afa291 Deprecate the version of MakeWeak which takes an Isolate.
BUG=NONE
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 07:23:23 +00:00
danno@chromium.org
1b89cbf817 Separate Cell and PropertyCell spaces
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 15:03:44 +00:00
dslomov@chromium.org
9278a4b7b1 Change ArrayBuffer API and implementation to use embedder-provided allocator.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 10:41:14 +00:00
dcarney@chromium.org
c90e697a30 make empty string returnable by ReturnValue
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 07:42:12 +00:00
dcarney@chromium.org
a9ce5bb5ea add a default value for return value
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 07:41:16 +00:00
dslomov@chromium.org
cbb11dbe6c Neutering API for v8::ArrayBuffer
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:02:20 +00:00
dslomov@chromium.org
b3282c290e Recording array buffer views.
R=hpayer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 10:52:11 +00:00
dcarney@chromium.org
a0f786f022 Make ReturnValue a friend of Persistent, so it can use operator*.
BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 10:46:51 +00:00
dcarney@chromium.org
72098711b7 Add Value::Cast.
It's needed for upcasting Persistent<Object> to Persistent<Value> after
handlepocalypse (with Persistent::As or Persistent::Cast).

BUG=
R=svenpanne@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 08:46:39 +00:00
dcarney@chromium.org
94d6a13682 build fix for build fix for 14990
BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 08:15:00 +00:00
dcarney@chromium.org
2149ac97ee build fix for 14990
BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 07:54:39 +00:00
dcarney@chromium.org
3c8a79caba ReturnValue::Set(uint32_t) is wrong
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 07:34:25 +00:00