platform/upstream/v8.git
10 years agoMissing runtime test
rossberg@chromium.org [Mon, 21 Jul 2014 12:20:05 +0000 (12:20 +0000)]
Missing runtime test

TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Auto-roll] Bump up version to 3.28.31.0
machenbach@chromium.org [Mon, 21 Jul 2014 12:14:36 +0000 (12:14 +0000)]
[Auto-roll] Bump up version to 3.28.31.0

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix automatic version update.
machenbach@chromium.org [Mon, 21 Jul 2014 12:13:36 +0000 (12:13 +0000)]
Fix automatic version update.

This fixes two things:
1. Guarantee that versions are bumped up also when presubmit errors exists. Those errors originate from other CLs and should not stop the automatic versioning.
2. Calculate the last bleeding edge version when pushing to trunk based on remote branch svn/bleeding_edge and not on local branch master. The master branch is not kept up-to-date by the script.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce FLAG_vector_ics.
mvstanton@chromium.org [Mon, 21 Jul 2014 11:19:56 +0000 (11:19 +0000)]
Introduce FLAG_vector_ics.

When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.

Support is incomplete, right now the IC doesn't know how to use the feedback
slot.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAlways sweep precisely.
hpayer@chromium.org [Mon, 21 Jul 2014 10:39:10 +0000 (10:39 +0000)]
Always sweep precisely.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM64: never record safepoint with doubles
Jacob.Bramley@arm.com [Mon, 21 Jul 2014 10:31:23 +0000 (10:31 +0000)]
ARM64: never record safepoint with doubles

R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove harmony-typeof
rossberg@chromium.org [Mon, 21 Jul 2014 10:20:54 +0000 (10:20 +0000)]
Remove harmony-typeof

This was an early experiment in the Harmony era that turned out to
not be compatible with the web.

BUG=None
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: never record safepoint with doubles
Jacob.Bramley@arm.com [Mon, 21 Jul 2014 10:15:08 +0000 (10:15 +0000)]
ARM: never record safepoint with doubles

R=bmeurer@chromium.org, ulan@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement basic code generation for arrow functions
rossberg@chromium.org [Mon, 21 Jul 2014 09:58:01 +0000 (09:58 +0000)]
Implement basic code generation for arrow functions

Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix off-by-one error in Array.concat slow mode check
jkummerow@chromium.org [Mon, 21 Jul 2014 09:42:21 +0000 (09:42 +0000)]
Fix off-by-one error in Array.concat slow mode check

BUG=chromium:395499
LOG=n
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement String.prototype.codePointAt and String.fromCodePoint.
yangguo@chromium.org [Mon, 21 Jul 2014 08:45:32 +0000 (08:45 +0000)]
Implement String.prototype.codePointAt and String.fromCodePoint.

Contributed by Mathias Bynens <mathiasb@opera.com>.

TBR=mathiasb@opera.com, rossberg@chromium.org
BUG=v8:2840
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose the content of Maps and WeakMaps through MapMirror.
yangguo@chromium.org [Mon, 21 Jul 2014 08:07:04 +0000 (08:07 +0000)]
Expose the content of Maps and WeakMaps through MapMirror.

BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS64: Correct register use.
paul.lind@imgtec.com [Mon, 21 Jul 2014 03:09:19 +0000 (03:09 +0000)]
MIPS64: Correct register use.

TEST: mozilla/js1_5/Regress/regress-366601.
TEST: mozilla/ecma_3/ExecutionContexts/10.1.3-1

BUG=
R=paul.lind@imgtec.com

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

Patch from Yu Yin <xwafish@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: Cache IC handlers on the prototype's map if possible
weiliang.lin@intel.com [Mon, 21 Jul 2014 02:57:42 +0000 (02:57 +0000)]
X87:  Cache IC handlers on the prototype's map if possible

port r22483

original commit message:

  Cache IC handlers on the prototype's map if possible

  instead of on the receiver's map. Lazily overwrite cached handler if it is
  identical to the handler that just missed.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMigrate to current map if deprecated in SetProperty
verwaest@chromium.org [Sat, 19 Jul 2014 12:00:20 +0000 (12:00 +0000)]
Migrate to current map if deprecated in SetProperty

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Cache IC handlers on the prototype's map if possible.
balazs.kilvady@imgtec.com [Fri, 18 Jul 2014 17:11:52 +0000 (17:11 +0000)]
MIPS: Cache IC handlers on the prototype's map if possible.

Port r22483 (6dd09cb)

Original commit message:
Instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.

BUG=
R=akos.palfi@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCache IC handlers on the prototype's map if possible
jkummerow@chromium.org [Fri, 18 Jul 2014 13:50:21 +0000 (13:50 +0000)]
Cache IC handlers on the prototype's map if possible

instead of on the receiver's map. Lazily overwrite cached handler if it is
identical to the handler that just missed.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReimplement SetProperty using the LookupIterator
verwaest@chromium.org [Fri, 18 Jul 2014 13:47:25 +0000 (13:47 +0000)]
Reimplement SetProperty using the LookupIterator

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Make v8::TryCatch able to consume natively thrown exceptions."
mstarzinger@chromium.org [Fri, 18 Jul 2014 13:28:12 +0000 (13:28 +0000)]
Reland "Make v8::TryCatch able to consume natively thrown exceptions."

R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAlways sweep precisely off.
hpayer@chromium.org [Fri, 18 Jul 2014 12:51:21 +0000 (12:51 +0000)]
Always sweep precisely off.

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd automatic tag script.
machenbach@chromium.org [Fri, 18 Jul 2014 12:16:14 +0000 (12:16 +0000)]
Add automatic tag script.

The script can be run in a cron job to automatically tag
lkgrs.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAlways sweep precisely.
hpayer@chromium.org [Fri, 18 Jul 2014 12:04:48 +0000 (12:04 +0000)]
Always sweep precisely.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWait for sweeper threads when verifying the heap.
hpayer@chromium.org [Fri, 18 Jul 2014 12:00:11 +0000 (12:00 +0000)]
Wait for sweeper threads when verifying the heap.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Bootstrapper::DetachGlobal also need to unset global_proxy's constructor...
dcarney@chromium.org [Fri, 18 Jul 2014 11:47:35 +0000 (11:47 +0000)]
Revert "Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context"

This reverts r22460 for potentially breaking the mac webkit build.

TBR=titzer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReally fix the arm builder bots by copying android_webview_build out one scope in...
rmcilroy@chromium.org [Fri, 18 Jul 2014 11:36:40 +0000 (11:36 +0000)]
Really fix the arm builder bots by copying android_webview_build out one scope in toolchain.gypi

Move android_webview_build variable to toolchain.gypi to fix arm builders.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix 64-bit compile.
hpayer@chromium.org [Fri, 18 Jul 2014 11:30:50 +0000 (11:30 +0000)]
Fix 64-bit compile.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoConcurrent/parallel precise sweeping.
hpayer@chromium.org [Fri, 18 Jul 2014 11:04:20 +0000 (11:04 +0000)]
Concurrent/parallel precise sweeping.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove android_webview_build variable to toolchain.gypi to fix arm builders.
rmcilroy@chromium.org [Fri, 18 Jul 2014 10:54:33 +0000 (10:54 +0000)]
Move android_webview_build variable to toolchain.gypi to fix arm builders.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix the android_webview build's gyp files after the changes in r22444.
rmcilroy@chromium.org [Fri, 18 Jul 2014 10:17:01 +0000 (10:17 +0000)]
Fix the android_webview build's gyp files after the changes in r22444.

The android_webview get's it's compiler flags from the Android build system,
so we should not be setting these flags in gyp when building the webview.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUnravel kHeapObjectTagSize from the stub cache.
Jacob.Bramley@arm.com [Fri, 18 Jul 2014 09:57:39 +0000 (09:57 +0000)]
Unravel kHeapObjectTagSize from the stub cache.

The stub cache used kHeapObjectTagSize to scale indices, but there
doesn't appear to be a direct need for this. Instead, the stub cache has
its own kCacheIndexShift quantity.

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake GCTracer persistent.
ernstm@chromium.org [Fri, 18 Jul 2014 08:55:40 +0000 (08:55 +0000)]
Make GCTracer persistent.

This is essentially https://codereview.chromium.org/390823003/. It turns
out that it's safe to use a persistent GCTracer instead
of creating and destroying GCTracers for each GC, because
Scavenge and Mark-Sweep steps never overlap, and the tracking of
incremental marking also happens separately for the two types of GC.
Tracking of incremental marking will be moved into the GCTracer in a
follow-up patch.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Auto-roll] Bump up version to 3.28.29.0
machenbach@chromium.org [Fri, 18 Jul 2014 08:43:49 +0000 (08:43 +0000)]
[Auto-roll] Bump up version to 3.28.29.0

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd histograms for idle notification and incremental marking steps
jochen@chromium.org [Fri, 18 Jul 2014 08:25:41 +0000 (08:25 +0000)]
Add histograms for idle notification and incremental marking steps

BUG=381820
LOG=n
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compilation after r22461: removed now unused var
jochen@chromium.org [Fri, 18 Jul 2014 08:00:51 +0000 (08:00 +0000)]
Fix compilation after r22461: removed now unused var

BUG=none
LOG=n
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove experimental flags that are now required
danno@chromium.org [Fri, 18 Jul 2014 07:17:21 +0000 (07:17 +0000)]
Remove experimental flags that are now required

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoBootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove...
dcarney@chromium.org [Fri, 18 Jul 2014 06:05:59 +0000 (06:05 +0000)]
Bootstrapper::DetachGlobal also need to unset global_proxy's constructor to remove all refs to context

DetachGlobal detaches original context of a global proxy object.

Before this patch, the constructor JSFunction still carried a reference to the old context after |Bootstrapper::DetachGlobal| call.
This patch removes the reference by setting the constructor null.

TEST=http/tests/security/isolatedWorld w/ --enable-leak-detection
LOG=N
BUG=364377
R=dcarney@chromium.org

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

Patch from Kouhei Ueno <kouhei@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoX87: StubCallInterfaceDescriptor takes a context register.
weiliang.lin@intel.com [Fri, 18 Jul 2014 03:15:48 +0000 (03:15 +0000)]
X87: StubCallInterfaceDescriptor takes a context register.

port r22448

original commit message:
  StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.

  Handling of the context register had to be massaged to effect the unification. This will make it easier
  to call hydrogen code stubs directly from crankshaft.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a...
balazs.kilvady@imgtec.com [Thu, 17 Jul 2014 18:24:59 +0000 (18:24 +0000)]
MIPS: StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.

Port r22448 (a9e0b0e)

Original commit message:
Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.

BUG=
R=mvstanton@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix v8 Windows GN build.
jochen@chromium.org [Thu, 17 Jul 2014 17:39:54 +0000 (17:39 +0000)]
Fix v8 Windows GN build.

The paths for some of the Windows-specific files was incorrect.

R=jochen@chromium.org

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

Patch from Brett Wilson <brettw@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Expose the content of Maps and WeakMaps through MapMirror."
yangguo@chromium.org [Thu, 17 Jul 2014 16:43:52 +0000 (16:43 +0000)]
Revert "Expose the content of Maps and WeakMaps through MapMirror."

This reverts r22452.

TBR=amikhaylova@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove fuzz-natives blacklist entries that no longer exist.
mstarzinger@chromium.org [Thu, 17 Jul 2014 15:13:46 +0000 (15:13 +0000)]
Remove fuzz-natives blacklist entries that no longer exist.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose the content of Maps and WeakMaps through MapMirror.
yangguo@chromium.org [Thu, 17 Jul 2014 15:07:59 +0000 (15:07 +0000)]
Expose the content of Maps and WeakMaps through MapMirror.

BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoLimit stack size when testing stack overflow in JSON.stringify.
yangguo@chromium.org [Thu, 17 Jul 2014 13:23:02 +0000 (13:23 +0000)]
Limit stack size when testing stack overflow in JSON.stringify.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove node statistics from GCTracer to Heap.
ernstm@chromium.org [Thu, 17 Jul 2014 13:00:46 +0000 (13:00 +0000)]
Move node statistics from GCTracer to Heap.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago[Auto-roll] Bump up version to 3.28.27.0
machenbach@chromium.org [Thu, 17 Jul 2014 11:57:09 +0000 (11:57 +0000)]
[Auto-roll] Bump up version to 3.28.27.0

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoStubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base...
mvstanton@chromium.org [Thu, 17 Jul 2014 11:50:04 +0000 (11:50 +0000)]
StubCallInterfaceDescriptor and CallInterfaceDescriptor are unified under a base class InterfaceDescriptor.

Handling of the context register had to be massaged to effect the unification. This will make it easier to call hydrogen code stubs directly from crankshaft.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoChange String.prototype.concat to be more like similar functions.
yangguo@chromium.org [Thu, 17 Jul 2014 10:54:25 +0000 (10:54 +0000)]
Change String.prototype.concat to be more like similar functions.

This is just cosmetic: We usually avoid using %FunctionSetLength.

R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd back a static_cast<int32_t> to assembler-arm.cc to fix WebView build.
rmcilroy@chromium.org [Thu, 17 Jul 2014 10:34:59 +0000 (10:34 +0000)]
Add back a static_cast<int32_t> to assembler-arm.cc to fix WebView build.

The WebView Mac builder is having trouble with resolving set_at_offset with an
intptr_t argument to the correct overload. Add back the static_cast which
was present before r22293 to resolve this.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSome fixes to avoid breakages when enabling out-of-line constant pools.
rmcilroy@chromium.org [Thu, 17 Jul 2014 10:03:30 +0000 (10:03 +0000)]
Some fixes to avoid breakages when enabling out-of-line constant pools.

Three fixes which are required to pass all the tests when  out-of-line constant
pools are enabled for Arm:

 - Invalidate embedded objects in optimized code when it is deoptimized such
   that the weak pointers in the constant pool array are cleared.  This prevents
   a CHECK(heap_->mark_compact_collector()->IsMarked(object)) error when a
   verifying weak pointers in a deoptimized code object's constant pool.
 - Modify LargeObjectSpace::Verify to allow constant pool arrays in the
   large object space.
 - Increase the 32bit stack size limit, since the constant pool pointer
   is now on every stack frame, causing the size of each stack frame to
   increase by one word, and causing deep-recursion-test to fail.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
rmcilroy@chromium.org [Thu, 17 Jul 2014 09:56:58 +0000 (09:56 +0000)]
Reland "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.

Original Review URL: https://codereview.chromium.org/382343003
TBR=jkummerow@chromium.org

BUG=384474
LOG=NO

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM64: always restore regexp register cache after a C function call.
rodolph.perfetta@arm.com [Thu, 17 Jul 2014 09:55:48 +0000 (09:55 +0000)]
ARM64: always restore regexp register cache after a C function call.

BUG=v8:3444
TEST=mjsunit/regress/regress-regexp-nocase.js
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove JSReceiver::GetPrototype and replace it with PrototypeIterator calls
jochen@chromium.org [Thu, 17 Jul 2014 09:44:37 +0000 (09:44 +0000)]
Remove JSReceiver::GetPrototype and replace it with PrototypeIterator calls

BUG=none
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove hole handling since holes cannot occur in JSObjects anymore.
verwaest@chromium.org [Thu, 17 Jul 2014 09:06:49 +0000 (09:06 +0000)]
Remove hole handling since holes cannot occur in JSObjects anymore.
The only case in which the hole can still occur, is in a pre-allocated PropertyCell in a GlobalObject. In that case it indicates that the property is absent.

BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGo to slow path when JSON.stringifying the global proxy.
yangguo@chromium.org [Thu, 17 Jul 2014 08:35:36 +0000 (08:35 +0000)]
Go to slow path when JSON.stringifying the global proxy.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agov8: GCTracer clean-up part 1.
ernstm@chromium.org [Thu, 17 Jul 2014 07:50:55 +0000 (07:50 +0000)]
v8: GCTracer clean-up part 1.

- Split GCTracer::~GCTracer into printing functions and update of variables
tracked on Heap.
- Clean-up recording of time, object size and memory size at the beginning and
end of GC.
- Consistently use enum notation in ScopeId.
- Disallow copy and assign for Scope and GCTracer.
- Remove unused stats on GCTracer.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMark test-mark-compact/Promotion as PASS, FAIL on arm64.
yangguo@chromium.org [Thu, 17 Jul 2014 06:51:20 +0000 (06:51 +0000)]
Mark test-mark-compact/Promotion as PASS, FAIL on arm64.

BUG=v8:3446
LOG=N
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix ninja build.
yangguo@chromium.org [Wed, 16 Jul 2014 14:59:49 +0000 (14:59 +0000)]
Fix ninja build.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoShip ES6 Math functions.
yangguo@chromium.org [Wed, 16 Jul 2014 14:00:15 +0000 (14:00 +0000)]
Ship ES6 Math functions.

R=rossberg@chromium.org
BUG=v8:2938
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix PagedSpace size accounting.
yangguo@chromium.org [Wed, 16 Jul 2014 13:36:46 +0000 (13:36 +0000)]
Fix PagedSpace size accounting.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agov8: fix tracking of longest_step in IncrementalMarking.
ernstm@chromium.org [Wed, 16 Jul 2014 13:19:31 +0000 (13:19 +0000)]
v8: fix tracking of longest_step in IncrementalMarking.

longest_step is only output at the end of a mark-compact. We shouldn't
reset it after a Scavenge.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoChange ScriptCompiler::CompileOptions to allow for two 'cache' modes
vogelheim@chromium.org [Wed, 16 Jul 2014 12:18:33 +0000 (12:18 +0000)]
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

10 years agoRename [Load/Delete]ContextSlot for consistency after r22379.
mstarzinger@chromium.org [Wed, 16 Jul 2014 12:03:33 +0000 (12:03 +0000)]
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

10 years agoStore builtin index on the builtin code object.
yangguo@chromium.org [Wed, 16 Jul 2014 09:55:34 +0000 (09:55 +0000)]
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

10 years agoProperly escape benchmark names when retrieving results.
machenbach@chromium.org [Wed, 16 Jul 2014 09:54:34 +0000 (09:54 +0000)]
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

10 years agoRevert "Remove erroneous uses of CXX / CXX_target / CXX_host from gyp."
rmcilroy@chromium.org [Wed, 16 Jul 2014 09:53:32 +0000 (09:53 +0000)]
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

10 years agoMake ToPrimitive throw on symbol wrappers
rossberg@chromium.org [Wed, 16 Jul 2014 09:26:11 +0000 (09:26 +0000)]
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

10 years agoRemove erroneous uses of CXX / CXX_target / CXX_host from gyp.
rmcilroy@chromium.org [Wed, 16 Jul 2014 09:20:37 +0000 (09:20 +0000)]
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

10 years agoAllow benchmarks to provide the standard deviation.
machenbach@chromium.org [Wed, 16 Jul 2014 08:53:46 +0000 (08:53 +0000)]
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

10 years ago[Auto-roll] Bump up version to 3.28.26.0
machenbach@chromium.org [Wed, 16 Jul 2014 08:42:52 +0000 (08:42 +0000)]
[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

10 years agoDo not expose all timer events to the API callback.
yangguo@chromium.org [Wed, 16 Jul 2014 08:14:50 +0000 (08:14 +0000)]
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

10 years agoAdd script to bump up version on bleeding edge.
machenbach@chromium.org [Wed, 16 Jul 2014 07:57:13 +0000 (07:57 +0000)]
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

10 years agoError.captureStackTrace should define "stack" property as configurable.
yangguo@chromium.org [Wed, 16 Jul 2014 07:55:05 +0000 (07:55 +0000)]
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

10 years agoVerify that source string matches serialized code.
yangguo@chromium.org [Wed, 16 Jul 2014 06:59:14 +0000 (06:59 +0000)]
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

10 years agoX87: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal
weiliang.lin@intel.com [Wed, 16 Jul 2014 03:12:29 +0000 (03:12 +0000)]
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

10 years agoMIPS: Minor fixes to r22396
akos.palfi@imgtec.com [Tue, 15 Jul 2014 19:03:13 +0000 (19:03 +0000)]
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

10 years agoMIPS: Fix r19500 register usage to match to ASSERT.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 19:01:31 +0000 (19:01 +0000)]
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

10 years agoMIPS: Drop unnecessary receiver validity checks from {Load,Store}IC_Normal.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 19:00:02 +0000 (19:00 +0000)]
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

10 years agoMIPS64: Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapN...
dusan.milosavljevic@rt-rk.com [Tue, 15 Jul 2014 16:57:04 +0000 (16:57 +0000)]
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

10 years agoRevert "Remove failure tag.".
hpayer@chromium.org [Tue, 15 Jul 2014 12:22:38 +0000 (12:22 +0000)]
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

10 years agoRemove failure tag.
hpayer@chromium.org [Tue, 15 Jul 2014 11:11:15 +0000 (11:11 +0000)]
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

10 years agoFix assertion failure. Use Vector instead of List in code deserializer.
yangguo@chromium.org [Tue, 15 Jul 2014 11:01:03 +0000 (11:01 +0000)]
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

10 years agoAllow embedding of ConsString objects into code.
mstarzinger@chromium.org [Tue, 15 Jul 2014 10:51:12 +0000 (10:51 +0000)]
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

10 years agoX87: Use the same registers for StoreIC and KeyedStoreIC.
weiliang.lin@intel.com [Tue, 15 Jul 2014 10:41:23 +0000 (10:41 +0000)]
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

10 years agoEnum RegisterInfo renamed to ParameterIndices.
mvstanton@chromium.org [Tue, 15 Jul 2014 10:19:30 +0000 (10:19 +0000)]
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

10 years agoDo not dump user source code in the code serializer.
yangguo@chromium.org [Tue, 15 Jul 2014 10:17:22 +0000 (10:17 +0000)]
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

10 years agoX87: Use register parameters in ElementsTransitionGenerator
weiliang.lin@intel.com [Tue, 15 Jul 2014 09:46:10 +0000 (09:46 +0000)]
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

10 years agoUnify the IsShortcutCandidate predicate.
mstarzinger@chromium.org [Tue, 15 Jul 2014 09:19:22 +0000 (09:19 +0000)]
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

10 years agoFix up internalized strings after deserializing user code.
yangguo@chromium.org [Tue, 15 Jul 2014 08:46:47 +0000 (08:46 +0000)]
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

10 years agoMIPS: Use the same registers for StoreIC and KeyedStoreIC.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 08:40:26 +0000 (08:40 +0000)]
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

10 years agoMIPS: Use register parameters in ElementsTransitionGenerator.
akos.palfi@imgtec.com [Tue, 15 Jul 2014 08:38:16 +0000 (08:38 +0000)]
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

10 years agoX87: Clean up and update const / var
weiliang.lin@intel.com [Tue, 15 Jul 2014 08:37:37 +0000 (08:37 +0000)]
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

10 years agoRemove sequential sweeping mode and perform lazy sweeping when no sweeper threads...
hpayer@chromium.org [Tue, 15 Jul 2014 08:24:44 +0000 (08:24 +0000)]
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

10 years agofix the vtune support bug.
danno@chromium.org [Tue, 15 Jul 2014 08:13:42 +0000 (08:13 +0000)]
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

10 years agoFix flags for test cases involving arrow functions
marja@chromium.org [Tue, 15 Jul 2014 08:10:26 +0000 (08:10 +0000)]
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

10 years agoDrop unnecessary receiver validity checks from {Load,Store}IC_Normal.
jkummerow@chromium.org [Tue, 15 Jul 2014 08:07:25 +0000 (08:07 +0000)]
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

10 years agoRemoved some copy-n-paste from StackFrame::Foo API entries.
svenpanne@chromium.org [Tue, 15 Jul 2014 06:59:42 +0000 (06:59 +0000)]
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

10 years agoUse the same registers for StoreIC and KeyedStoreIC.
mvstanton@chromium.org [Mon, 14 Jul 2014 20:43:41 +0000 (20:43 +0000)]
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

10 years agoMIPS: Remove ASSERT since there are tons of different ASSIGN variants
kilvadyb@homejinni.com [Mon, 14 Jul 2014 18:53:49 +0000 (18:53 +0000)]
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

10 years agoMIPS: This CL simplifies var / const by ensuring the behavior is consistent in itself...
kilvadyb@homejinni.com [Mon, 14 Jul 2014 18:22:34 +0000 (18:22 +0000)]
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

10 years agoUse register parameters in ElementsTransitionGenerator.
mvstanton@chromium.org [Mon, 14 Jul 2014 15:03:38 +0000 (15:03 +0000)]
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