Commit Graph

17335 Commits

Author SHA1 Message Date
vogelheim@chromium.org
a42612b4a7 Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)

Also add a --cache flag to d8, to allow testing the functionality.

-----------------------------
API change

Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).

Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.

Changes from old behaviour:

- If you previously didn't use caching, nothing changes.
Example:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);

- If you previously used caching, it worked like this:

  - 1st run:
  v8::CompileUnbound(isolate, source, kProduceToCache);
  Then, source->cached_data would contain the
  data-to-be cached. This remains the same, except you
  need to tell V8 which type of data you want.
  v8::CompileUnbound(isolate, source, kProduceParserCache);

  - 2nd run:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);
  with source->cached_data set to the data you received in
  the first run. This will now ignore the cached data, and
  you need to explicitly tell V8 to use it:
  v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------

BUG=
R=marja@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
mstarzinger@chromium.org
5963ae48a8 Rename [Load/Delete]ContextSlot for consistency after r22379.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:03:33 +00:00
yangguo@chromium.org
a211a52a6e Store builtin index on the builtin code object.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:55:34 +00:00
machenbach@chromium.org
ba37e4f9c8 Properly escape benchmark names when retrieving results.
This allows benchmarks to contain regular expression characters in their name.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:54:34 +00:00
rmcilroy@chromium.org
c9087a715a Revert "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
This reverts commit r22425 for breaking the Arm debug builder.

BUG=384474
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:53:32 +00:00
rossberg@chromium.org
96dd1c7831 Make ToPrimitive throw on symbol wrappers
R=mstarzinger@chromium.org
BUG=v8:3442
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:26:11 +00:00
rmcilroy@chromium.org
83bb0f1001 Remove erroneous uses of CXX / CXX_target / CXX_host from gyp.
The current gyp config tries to test whether the compiler is an arm / mips
compiler and whether it supports -m32 / -m64 based on a test within gyp.
Unfortunately CXX / CXX_target / CXX_host are no no longer set early enough
in gyp for this to work, and so all of these tests were actually being done
using "$(which g++)" rather than the appropriate CXX_target / CXX_host compiler.

This change removes these dynamic tests and instead bases the decisions on
knowledge of the host / target / v8_target architecture combination.  The
the -m32/-m64 flags are set based on host_cxx_is_biarch / target_cxx_is_biarch,
which are set to reasonable defaults of only ia32/x64 or clang compilers
being build for biarch support.  The host_cxx_is_biarch / target_cxx_is_biarch
variables can be overriden if required.

BUG=384474
LOG=NO
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:20:37 +00:00
machenbach@chromium.org
522beebb1a Allow benchmarks to provide the standard deviation.
Some benchmarks include their own runner which provides an
overall average and a standard deviation. This enables
extraction of that value similar to the other measurements.

These benchmarks should only be run once. If a benchmarks
specifies multiple runs and provides a standard deviation,
a warning will be issued that makes the build fail on the
buildbot side.

TEST=python -m unittest run_benchmarks_test
BUG=393947
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:53:46 +00:00
machenbach@chromium.org
f89f5f134a [Auto-roll] Bump up version to 3.28.26.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:42:52 +00:00
yangguo@chromium.org
21a2f36b25 Do not expose all timer events to the API callback.
R=fmeawad@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:14:50 +00:00
machenbach@chromium.org
570ea3bf5d Add script to bump up version on bleeding edge.
The version.cc file will from now on be controlled on
bleeding edge and on trunk. The next version to use will
always be max(bleeding_edge_version, trunk_version) + 1.

The trunk and bleeding_edge versions are not semantically
tied together. The trunk branch can be used to make
independent point releases of bleeding_edge revisions.

The version on bleeding_edge will be increased if:
- the lkgr version is smaller than the version of the latest
  revision,
- the lkgr version is not a version change itself,
- the tree is not closed for maintenance.

This will allow chromium to refer directly to bleeding_edge
revisions of v8. The v8 versions will not be unique, but
they will change as often as possible, dependent on the lkgr
cycle time and the frequency this script is called.

BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/bump_up_version.py --dry_run
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 07:57:13 +00:00
yangguo@chromium.org
49ae3081d2 Error.captureStackTrace should define "stack" property as configurable.
R=verwaest@chromium.org
BUG=393988
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 07:55:05 +00:00
yangguo@chromium.org
ef734e2686 Verify that source string matches serialized code.
R=mvstanton@chromium.org, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 06:59:14 +00:00
weiliang.lin@intel.com
3150bf3870 X87: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal
port r22391

original commit message:
   Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.

   Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 03:12:29 +00:00
akos.palfi@imgtec.com
f7df8a41bb MIPS: Minor fixes to r22396
BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 19:03:13 +00:00
akos.palfi@imgtec.com
71bfbf490d MIPS: Fix r19500 register usage to match to ASSERT.
BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 19:01:31 +00:00
akos.palfi@imgtec.com
1578cfee1d MIPS: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
Port r22391 (fe86010)

Original commit message:
Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 19:00:02 +00:00
dusan.milosavljevic@rt-rk.com
db477d7f49 MIPS64: Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
Port r22129 (676bb14).

TEST=
BUG=
R=balazs.kilvady@imgtec.com, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 16:57:04 +00:00
hpayer@chromium.org
8e1ece2573 Revert "Remove failure tag.".
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 12:22:38 +00:00
hpayer@chromium.org
46135f289e Remove failure tag.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 11:11:15 +00:00
yangguo@chromium.org
23eebeedbe Fix assertion failure. Use Vector instead of List in code deserializer.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 11:01:03 +00:00
mstarzinger@chromium.org
5874bd08c0 Allow embedding of ConsString objects into code.
R=yangguo@chromium.org
BUG=v8:2803
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:51:12 +00:00
weiliang.lin@intel.com
1ca4454aeb X87: Use the same registers for StoreIC and KeyedStoreIC.
port r22387

original commit message:
  Use the same registers for StoreIC and KeyedStoreIC.

  Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:41:23 +00:00
mvstanton@chromium.org
0827316df5 Enum RegisterInfo renamed to ParameterIndices.
"Info" is information-poor.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:19:30 +00:00
yangguo@chromium.org
ed744ffa17 Do not dump user source code in the code serializer.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:17:22 +00:00
weiliang.lin@intel.com
2aad6f0024 X87: Use register parameters in ElementsTransitionGenerator
port r22384

original commit message:
 Use register parameters in ElementsTransitionGenerator
x

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 09:46:10 +00:00
mstarzinger@chromium.org
ee51510674 Unify the IsShortcutCandidate predicate.
R=yangguo@chromium.org
BUG=v8:2803
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 09:19:22 +00:00
yangguo@chromium.org
fd57811644 Fix up internalized strings after deserializing user code.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:46:47 +00:00
akos.palfi@imgtec.com
fb812df512 MIPS: Use the same registers for StoreIC and KeyedStoreIC.
Port r22387 (ff76c666)

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:40:26 +00:00
akos.palfi@imgtec.com
d6fcb81a61 MIPS: Use register parameters in ElementsTransitionGenerator.
Port r22384 (52caca20)

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:38:16 +00:00
weiliang.lin@intel.com
23887bf978 X87: Clean up and update const / var
port r22379

original commit message:
This CL simplifies var / const by ensuring the behavior is consistent in itself,
and with regular JS semantics; between regular var/const and eval-ed var/const.

Legacy const is changed so that a declaration declares a configurable, but non-writable, slot,
 and the initializer reconfigures it (when possible) to non-configurable non-writable. This
 avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects.
Undefined is used instead.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:37:37 +00:00
hpayer@chromium.org
9180b1a319 Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:24:44 +00:00
danno@chromium.org
319e5226e9 fix the vtune support bug.
During https://code.google.com/p/v8/source/detail?r=19925 checkin context bound scripts (Script)
and context unbound scripts (UnboundScript) are Distinguished.

And then Sven Panne helped to fix the vtune support compilation
error in https://code.google.com/p/v8/source/detail?r=20955.

The problem is that there is runtime error for vtune
support.
In our original implementation, we encapsulated and passed v8::internal::Script
to V8 API. It will leads to type check error for current V8::Script definition.

So I changed the Handle<Script> definition in JitCodeEvent
to Handle<UnboundScript>
 and add the corresponding change in log.cc.

If you do NOT prefer to change in include/v8.h. I think I can change the definition of
CodeEventLogger::LogRecordedBuffer(...) so that the we can pass the correct
type (JSFunction) as V8::Script to V8 API.

BUG=
R=danno@chromium.org, svenpanne@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:13:42 +00:00
marja@chromium.org
5de6d47ad2 Fix flags for test cases involving arrow functions
There are a lot of tests in cctest/test-parsing/ErrorsArrowFunctions,
so it is quite slow. This patch removes some flags to make it faster.
Removing three flags that don't affect the test brings down the run
time one order of magnitude, which is fast enough even for debug/ASAN
bots.

Also, remove the unneeded kArrowFunctions flag from
cctest/test-parsing/NoErrorsYieldSloppyAllModes

BUG=
R=marja@chromium.org

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

Patch from Adrián Pérez de Castro <aperez@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:10:26 +00:00
jkummerow@chromium.org
23cf62232f Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
Since these builtins are used as handlers after a map check/dispatch, they don't need to check the receiver again.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:07:25 +00:00
svenpanne@chromium.org
cd0980059d Removed some copy-n-paste from StackFrame::Foo API entries.
BUG=v8:3436
LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 06:59:42 +00:00
mvstanton@chromium.org
086290baf0 Use the same registers for StoreIC and KeyedStoreIC.
Based on https://codereview.chromium.org/389283002 ("Use register parameters in ElementsTransitionGenerator") which must land first.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 20:43:41 +00:00
kilvadyb@homejinni.com
acffe8c7cd MIPS: Remove ASSERT since there are tons of different ASSIGN variants
Port r22382 (84a841f)

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 18:53:49 +00:00
kilvadyb@homejinni.com
ea1d4db878 MIPS: This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
Port r22379 (fb62653)

Original commit message:
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 18:22:34 +00:00
mvstanton@chromium.org
490c6171ed Use register parameters in ElementsTransitionGenerator.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 15:03:38 +00:00
verwaest@chromium.org
6466ff39fb Remove PropertyAttributes from SetProperty
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:52:24 +00:00
verwaest@chromium.org
e3a269b77f Remove ASSERT since there are tons of different ASSIGN variants
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:42:33 +00:00
verwaest@chromium.org
1d55a634a9 Replace AddProperty by AddNamedProperty to speed up the common case
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
rossberg@chromium.org
3fade8e4af Fix d8 object printing (symbols, accessors)
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:30 +00:00
verwaest@chromium.org
aa7198dfdd This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:04 +00:00
rossberg@chromium.org
942fe1914f Reland "Include symbol properties in Object.{create,defineProperties}"
Second try; implementation that doesn't rely on external arrays.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:00:33 +00:00
mstarzinger@chromium.org
cb3e2beba3 Fix error message about read-only symbol properties.
R=rossberg@chromium.org
BUG=v8:3441
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 13:57:10 +00:00
titzer@chromium.org
f28f6102f8 Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
Reason: broke win64 build

This reverts commit 221bfdd2da2b6f3c1cbe77c5d197f1ea626b0bd2.

TBR=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 13:02:36 +00:00
rossberg@chromium.org
f2536bf7af Revert "Include symbol properties in Object.{create,defineProperties}"
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 12:27:08 +00:00
hpayer@chromium.org
030df48ced Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:31:22 +00:00