platform/upstream/v8.git
9 years agoRemove grab-bag includes of v8.h from IC subsystem.
mstarzinger [Fri, 14 Aug 2015 13:33:32 +0000 (06:33 -0700)]
Remove grab-bag includes of v8.h from IC subsystem.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30178}

9 years ago[serializer] Move WeakFixedArray compaction to separate heap walk phase
jkummerow [Fri, 14 Aug 2015 13:09:36 +0000 (06:09 -0700)]
[serializer] Move WeakFixedArray compaction to separate heap walk phase

This avoids discovering and compacting the same array repeatedly. No change in resulting snapshots intended.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30177}

9 years ago[turbofan] Gracefully handle missing info()->context() in CodeGenerator::IsMaterializ...
titzer [Fri, 14 Aug 2015 13:07:27 +0000 (06:07 -0700)]
[turbofan] Gracefully handle missing info()->context() in CodeGenerator::IsMaterializableFromFrame()

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30176}

9 years agoDo not export natives to runtime via js builtins object.
yangguo [Fri, 14 Aug 2015 12:34:45 +0000 (05:34 -0700)]
Do not export natives to runtime via js builtins object.

Using a temporary container object instead.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30175}

9 years agoRework startup-data-util.
vogelheim [Fri, 14 Aug 2015 12:11:29 +0000 (05:11 -0700)]
Rework startup-data-util.

- Make the API look like v8::V8::InitializeICU.
  (That is: A static method call, not an object to be created on the stack.)
- Fix path separator on Windows, by calling base::OS::isPathSeparator.
- Move into API, so that it can be called by hello-world & friends.
- Actually call it from hello-world and friends.

R=jochen@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30174}

9 years agoNo longer use js builtins object as receiver for calls into JS.
yangguo [Fri, 14 Aug 2015 10:22:16 +0000 (03:22 -0700)]
No longer use js builtins object as receiver for calls into JS.

This is no longer necessary. Everything the callee needs should
be in its context chain.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30173}

9 years agoRemove grab-bag includes of v8.h from several files.
mstarzinger [Fri, 14 Aug 2015 09:41:32 +0000 (02:41 -0700)]
Remove grab-bag includes of v8.h from several files.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30172}

9 years agoMake some foo.h headers usable without foo-inl.h header.
mstarzinger [Fri, 14 Aug 2015 08:48:11 +0000 (01:48 -0700)]
Make some foo.h headers usable without foo-inl.h header.

This CL is a pure refactoring that makes an empty compilation unit
including just "foo.h" but not "foo-inl.h" compile without warnings or
errors. This is needed to further reduce the header dependency tangle.

This realizes above state for "spaces.h" and "mark-compact.h".

R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30171}

9 years agoDebugger: simplify calling into Javascript.
yangguo [Fri, 14 Aug 2015 07:36:36 +0000 (00:36 -0700)]
Debugger: simplify calling into Javascript.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30170}

9 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 14 Aug 2015 03:25:40 +0000 (20:25 -0700)]
Update V8 DEPS.

Rolling v8/build/gyp to 6ee91ad8659871916f9aa840d42e1513befdf638

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30169}

9 years agoAlign PreParser for loop early error-checking with Parser
adamk [Thu, 13 Aug 2015 19:10:59 +0000 (12:10 -0700)]
Align PreParser for loop early error-checking with Parser

R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30168}

9 years ago[es6] Remove redundant flag parameter
rossberg [Thu, 13 Aug 2015 18:36:34 +0000 (11:36 -0700)]
[es6] Remove redundant flag parameter

R=adamk@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30167}

9 years ago[es6] Make assignment to new.target an early ReferenceError
adamk [Thu, 13 Aug 2015 18:06:04 +0000 (11:06 -0700)]
[es6] Make assignment to new.target an early ReferenceError

In doing so, fix calls CheckAndRewriteReferenceExpression to take proper
start and end positions (instead of just pointing at the first token in
the LHS expression).

BUG=v8:4370
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30166}

9 years ago[interpreter]: Fix interpreter handler table initialization.
rmcilroy [Thu, 13 Aug 2015 17:39:21 +0000 (10:39 -0700)]
[interpreter]: Fix interpreter handler table initialization.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30165}

9 years ago[api] Do not force external GCs when only trying to synchronously process phantom...
mlippautz [Thu, 13 Aug 2015 17:22:47 +0000 (10:22 -0700)]
[api] Do not force external GCs when only trying to synchronously process phantom callbacks

Improves on aec8987b5ee55fa46b90b58927e957a4e5f19c09 by not forcing external GCs
(blink) through the GC epilogue callback.

BUG=chromium:515795
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30164}

9 years ago[Interpreter] Register conversion fix and test.
oth [Thu, 13 Aug 2015 17:11:25 +0000 (10:11 -0700)]
[Interpreter] Register conversion fix and test.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30163}

9 years agoDebugger: remove duplicate heap iterations.
yangguo [Thu, 13 Aug 2015 16:26:02 +0000 (09:26 -0700)]
Debugger: remove duplicate heap iterations.

R=mlippautz@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30162}

9 years agoRemove inline header includes from non-inline headers (2).
mstarzinger [Thu, 13 Aug 2015 15:30:04 +0000 (08:30 -0700)]
Remove inline header includes from non-inline headers (2).

This tries to remove includes of "-inl.h" headers from normal ".h"
headers, thereby reducing the chance of any cyclic dependencies and
decreasing the average size of our compilation units.

Note that this change still leaves 5 violations of that rule in the
code. It only tackles "node.h" including "types-inl.h".

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30161}

9 years agoRemove old webkit Object-getOwnPropertyNames test
adamk [Thu, 13 Aug 2015 15:24:30 +0000 (08:24 -0700)]
Remove old webkit Object-getOwnPropertyNames test

This test enumerates properties on all the builtins and makes sure that
they never change. In practice, this just generates busywork when trying
to add new language features; I've never seen it catch an
accidentally-exposed bit of API.

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

Cr-Commit-Position: refs/heads/master@{#30160}

9 years agoMIPS64: Fix InterpreterEntryTrampoline().
paul.lind [Thu, 13 Aug 2015 14:27:05 +0000 (07:27 -0700)]
MIPS64: Fix InterpreterEntryTrampoline().

Was incorrectly loading BytecodeArray::kFrameSizeOffset as 64-bit int.

TEST=cctest/test-interpreter/TestInterpreterReturn
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30159}

9 years agoMake some foo.h headers usable without foo-inl.h header.
mstarzinger [Thu, 13 Aug 2015 14:02:22 +0000 (07:02 -0700)]
Make some foo.h headers usable without foo-inl.h header.

This CL us a pure refactoring that makes an empty compilation unit
including just "foo.h" but not "foo-inl.h" compile without warnings or
errors. This is needed to further reduce the header dependency tangle.

R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30158}

9 years ago[turbofan] Propagate representation information from call descriptors in SimplifiedLo...
titzer [Thu, 13 Aug 2015 13:33:04 +0000 (06:33 -0700)]
[turbofan] Propagate representation information from call descriptors in SimplifiedLowering.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30157}

9 years agoX87: [compiler] Remove broken support for undetectable strings.
chunyang.dai [Thu, 13 Aug 2015 13:31:55 +0000 (06:31 -0700)]
X87: [compiler] Remove broken support for undetectable strings.

port b62dbf1efdec68ae709b0e91d3b7c13171b720c9 (r30132).

original commit messge:

    Support for undetectable strings was officially dropped in
    https://codereview.chromium.org/916753002, but the compilers
    weren't fixed properly.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#30156}

9 years agoRevert of [runtime] Remove useless IN builtin. (patchset #2 id:20001 of https://coder...
bmeurer [Thu, 13 Aug 2015 13:06:45 +0000 (06:06 -0700)]
Revert of [runtime] Remove useless IN builtin. (patchset #2 id:20001 of https://codereview.chromium.org/1295433002/ )

Reason for revert:
Breaks win32 nosnap

Original issue's description:
> [runtime] Remove useless IN builtin.
>
> Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement
> and %HasProperty anyway, and cannot be optimized, plus it had a weird
> special fast case (which also involved at least one LOAD_IC plus some
> intrinsic magic).
>
> R=yangguo@chromium.org,jarin@chromium.org
>
> Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471
> Cr-Commit-Position: refs/heads/master@{#30154}

TBR=yangguo@chromium.org,jarin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30155}

9 years ago[runtime] Remove useless IN builtin.
bmeurer [Thu, 13 Aug 2015 12:39:03 +0000 (05:39 -0700)]
[runtime] Remove useless IN builtin.

Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement
and %HasProperty anyway, and cannot be optimized, plus it had a weird
special fast case (which also involved at least one LOAD_IC plus some
intrinsic magic).

R=yangguo@chromium.org,jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30154}

9 years agoRevert of Debugger: use a Map to cache mirrors. (patchset #1 id:1 of https://coderevi...
yangguo [Thu, 13 Aug 2015 12:09:30 +0000 (05:09 -0700)]
Revert of Debugger: use a Map to cache mirrors. (patchset #1 id:1 of https://codereview.chromium.org/1287243002/ )

Reason for revert:
Several nosnap and custom snapshot failures.

Original issue's description:
> Debugger: use a Map to cache mirrors.
>
> This makes mirror cache lookup O(1) instead of O(n).
> The downside is that the lookup via handle is O(n). This
> is fine because handles are only used in the JSON api,
> which is not used by Chrome and on death row.
>
> Committed: https://crrev.com/890b1dfca84d9dfecdcfc56517ef541076c6eb1d
> Cr-Commit-Position: refs/heads/master@{#30150}

TBR=bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30153}

9 years agoMake object.h usable without object-inl.h header.
mstarzinger [Thu, 13 Aug 2015 11:49:01 +0000 (04:49 -0700)]
Make object.h usable without object-inl.h header.

This CL us a pure refactoring that makes an empty compilation unit
including just "object.h" but not "object-inl.h" compile without
warnings or errors. This is needed to further reduce the header
dependency tangle.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30152}

9 years ago[interpreter]: Update BytecodeArrayBuilder register handling.
rmcilroy [Thu, 13 Aug 2015 11:27:54 +0000 (04:27 -0700)]
[interpreter]: Update BytecodeArrayBuilder register handling.

Modifies the BytecodeArrayBuilder to create register operands which are
negative. This reduces the number of instructions to access registers
by the interpreter and allows us to use positive register operands to
access parameter values.

Adds a Register class to keep register usage typesafe and simplify the
convertion to bytecode operand values.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30151}

9 years agoDebugger: use a Map to cache mirrors.
yangguo [Thu, 13 Aug 2015 10:49:04 +0000 (03:49 -0700)]
Debugger: use a Map to cache mirrors.

This makes mirror cache lookup O(1) instead of O(n).
The downside is that the lookup via handle is O(n). This
is fine because handles are only used in the JSON api,
which is not used by Chrome and on death row.

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

Cr-Commit-Position: refs/heads/master@{#30150}

9 years agoDebugger: do not expose global object.
yangguo [Thu, 13 Aug 2015 10:19:55 +0000 (03:19 -0700)]
Debugger: do not expose global object.

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

Cr-Commit-Position: refs/heads/master@{#30149}

9 years ago[runtime] Remove useless DELETE builtin.
bmeurer [Thu, 13 Aug 2015 09:41:36 +0000 (02:41 -0700)]
[runtime] Remove useless DELETE builtin.

The DELETE builtin calls through to %DeleteProperty anyway, so we
can as well skip the builtin completely and always call into the
runtime directly.  Also add different entries depending on whether
calling code is in sloppy or strict/strong mode.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30148}

9 years agoAdd more OWNERS for components.
Benedikt Meurer [Thu, 13 Aug 2015 07:35:25 +0000 (09:35 +0200)]
Add more OWNERS for components.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30147}

9 years ago[strong] Simplify (and sortof optimize) string addition for strong mode.
bmeurer [Thu, 13 Aug 2015 07:05:07 +0000 (00:05 -0700)]
[strong] Simplify (and sortof optimize) string addition for strong mode.

In strong mode, whenever either operand to an addition is a string, both
must be strings, so we can just use a simple string map check instead of
the STRING_ADD_LEFT / STRING_ADD_RIGHT machinery, which tries to do sloppy
and strict mode conversions before giving up.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30146}

9 years agoRevert of Group lexical context variables for faster look up. (patchset #2 id:20001...
yangguo [Thu, 13 Aug 2015 06:56:30 +0000 (23:56 -0700)]
Revert of Group lexical context variables for faster look up. (patchset #2 id:20001 of https://codereview.chromium.org/1281883002/ )

Reason for revert:
This performance hack is no longer necessary.

Original issue's description:
> Group lexical context variables for faster look up.
>
> Currently, looking up a lexical context variable requires looking up
> the variable name and then checking its mode. This can be a bottleneck
> in Runtime_DeclareGlobals, even when no lexical context variables are
> declared.
>
> R=rossberg@chromium.org
> BUG=crbug:517778
> LOG=N
>
> Committed: https://crrev.com/a45ed17bb6aca02e940f13bbf456d660cccc86ae
> Cr-Commit-Position: refs/heads/master@{#30075}

TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=crbug:517778

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

Cr-Commit-Position: refs/heads/master@{#30145}

9 years agoMove regexp implementation into its own folder.
yangguo [Thu, 13 Aug 2015 06:55:21 +0000 (23:55 -0700)]
Move regexp implementation into its own folder.

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

Cr-Commit-Position: refs/heads/master@{#30144}

9 years agoAdd tests for float32/float64 parameters/returns passed in float32/float64 registers.
titzer [Thu, 13 Aug 2015 05:29:51 +0000 (22:29 -0700)]
Add tests for float32/float64 parameters/returns passed in float32/float64 registers.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30143}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 13 Aug 2015 03:26:41 +0000 (20:26 -0700)]
Update V8 DEPS.

Rolling v8/third_party/android_tools to 5722f90e94d02a8dc17b6edb93ead6839d5afcee

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30142}

9 years agoStage sloppy classes
littledan [Wed, 12 Aug 2015 23:42:07 +0000 (16:42 -0700)]
Stage sloppy classes

This patch puts --harmony-sloppy into staging. Now that let, lexically-scoped
functions and ES2015 sloppy mode const semantics have been split off into
separate flags, the change only enables classes in sloppy mode.

BUG=v8:3305
R=adamk
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#30141}

9 years agoAdd class to existing lexical scoping tests
littledan [Wed, 12 Aug 2015 18:42:48 +0000 (11:42 -0700)]
Add class to existing lexical scoping tests

This patch strengthens testing of classes by verifying that the binding
that they export externally follows block scoping, as opposed to var-style
scoping. The tests are based on existing tests for let and const.

R=adamk
LOG=N
BUG=v8:3305

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

Cr-Commit-Position: refs/heads/master@{#30140}

9 years agoSecurity: disable nontemporals.
jfb [Wed, 12 Aug 2015 16:57:52 +0000 (09:57 -0700)]
Security: disable nontemporals.

The operations were available on ARM64 and x86-32 but were unused.

It has been conjectured that nontemporals can be used for rowhammer-like bitflips more easily than regular load/store operations. It is therefore desirable to avoid generating these instructions in the future.

R= titzer, jochen, jln, Mark Seaborn, ruiq

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

Cr-Commit-Position: refs/heads/master@{#30139}

9 years ago[Atomics] Fix compile failure in clang/win build in runtime-atomics.cc
binji [Wed, 12 Aug 2015 16:44:13 +0000 (09:44 -0700)]
[Atomics] Fix compile failure in clang/win build in runtime-atomics.cc

BUG=v8:4366
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30138}

9 years ago[api] Delete non-maybe version of CompileModule
adamk [Wed, 12 Aug 2015 16:43:06 +0000 (09:43 -0700)]
[api] Delete non-maybe version of CompileModule

Also add a bigger warning to the header comment for the Maybe version.

R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30137}

9 years agoDebugger: load debugger builtins as normal native JS.
yangguo [Wed, 12 Aug 2015 14:22:07 +0000 (07:22 -0700)]
Debugger: load debugger builtins as normal native JS.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30136}

9 years ago[runtime] Remove useless %_IsUndetectableObject intrinsic.
bmeurer [Wed, 12 Aug 2015 13:44:06 +0000 (06:44 -0700)]
[runtime] Remove useless %_IsUndetectableObject intrinsic.

Instead of using a sequence

  if (something == null && !IS_UNDETECTABLE(something))) { ... }

which will be true if something is either null or undefined, it is
way simpler and way more efficient to just write

  if (something === null || something === (void 0)) { ... }

instead, which allows the compiler(s) to generate pretty decent code
without any need to resort to type feedback from a CompareNil IC.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30135}

9 years agoDo not save script object on the class constructor.
yangguo [Wed, 12 Aug 2015 13:06:03 +0000 (06:06 -0700)]
Do not save script object on the class constructor.

We don't need it, as we can grab it from the shared function info.
Having it triggers an assertion if we define classes in native JS.

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

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

Cr-Commit-Position: refs/heads/master@{#30134}

9 years agoAdd to full-codegen/OWNERS.
yangguo [Wed, 12 Aug 2015 12:26:30 +0000 (05:26 -0700)]
Add to full-codegen/OWNERS.

TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30133}

9 years ago[compiler] Remove broken support for undetectable strings.
bmeurer [Wed, 12 Aug 2015 12:01:21 +0000 (05:01 -0700)]
[compiler] Remove broken support for undetectable strings.

Support for undetectable strings was officially dropped in
https://codereview.chromium.org/916753002, but the compilers
weren't fixed properly.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30132}

9 years agoRemove grab-bag includes of v8.h from debugger.
mstarzinger [Wed, 12 Aug 2015 11:14:02 +0000 (04:14 -0700)]
Remove grab-bag includes of v8.h from debugger.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30131}

9 years agoRemove grab-bag includes of v8.h from full codegen.
mstarzinger [Wed, 12 Aug 2015 11:12:53 +0000 (04:12 -0700)]
Remove grab-bag includes of v8.h from full codegen.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30130}

9 years ago[runtime] Simplify CHECK_OBJECT_COERCIBLE.
bmeurer [Wed, 12 Aug 2015 11:11:32 +0000 (04:11 -0700)]
[runtime] Simplify CHECK_OBJECT_COERCIBLE.

Don't use IS_NULL_OR_UNDEFINED() for CHECK_OBJECT_COERCIBLE() because it
will also return true for undetectable objects, but use IS_NULL() and
IS_UNDEFINED() directly, which will only return true for null or
undefined (which matches the semantics of the abstract operation
CheckObjectCoercible).

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30129}

9 years agoAdd more OWNERS and set noparent for some sub-directories.
yangguo [Wed, 12 Aug 2015 10:55:48 +0000 (03:55 -0700)]
Add more OWNERS and set noparent for some sub-directories.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30128}

9 years agoRealize IWYU pattern for frames-inl.h header.
mstarzinger [Wed, 12 Aug 2015 10:28:34 +0000 (03:28 -0700)]
Realize IWYU pattern for frames-inl.h header.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30127}

9 years agoMake list constructor usable without list-inl.h header.
mstarzinger [Wed, 12 Aug 2015 08:00:08 +0000 (01:00 -0700)]
Make list constructor usable without list-inl.h header.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30126}

9 years agoRemove inline header includes from non-inline headers (1).
mstarzinger [Wed, 12 Aug 2015 07:32:36 +0000 (00:32 -0700)]
Remove inline header includes from non-inline headers (1).

This tries to remove includes of "-inl.h" headers from normal ".h"
headers, thereby reducing the chance of any cyclic dependencies and
decreasing the average size of our compilation units.

Note that this change still leaves 7 violations of that rule in the
code. However there now is the "tools/check-inline-includes.sh" tool
detecting such violations.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30125}

9 years agoDebugger: correctly ensure debug info in Debug::Break.
yangguo [Wed, 12 Aug 2015 07:30:24 +0000 (00:30 -0700)]
Debugger: correctly ensure debug info in Debug::Break.

R=bmeurer@chromium.org
BUG=chromium:517594
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30124}

9 years ago[turbofan] LoadGlobalParameters::slot_index() should just return an int.
thestig [Wed, 12 Aug 2015 04:40:21 +0000 (21:40 -0700)]
[turbofan] LoadGlobalParameters::slot_index() should just return an int.

Clang says: warning: 'const' type qualifier on return type has no effect
[-Wignored-qualifiers]

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

Cr-Commit-Position: refs/heads/master@{#30123}

9 years agoSplit function block scoping into a separate flag
littledan [Tue, 11 Aug 2015 23:59:47 +0000 (16:59 -0700)]
Split function block scoping into a separate flag

In an initial attempt to implement sloppy mode lexical bindings,
functions were made lexically scoped in sloppy mode. However, the
ES2015 spec says that they need an additional hoisted var binding,
and further, it's not clear when we'll implement that behavior
or whether it's web-compatible.

This patch splits off function block scoping into a new, separate
flag called --harmony_sloppy_function. This change will enable the
possibility of testing and shipping this feature separately from
other block scoping-related features which don't have the same risks.

BUG=v8:4285
R=adamk
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30122}

9 years agoStage --harmony-array-includes
domenic [Tue, 11 Aug 2015 22:00:44 +0000 (15:00 -0700)]
Stage --harmony-array-includes

BUG=v8:3575
R=adamk@chromium.org, rossberg@chromium.org
LOG=Y
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#30121}

9 years agoUse a new lexical context for sloppy-mode eval
littledan [Tue, 11 Aug 2015 21:30:26 +0000 (14:30 -0700)]
Use a new lexical context for sloppy-mode eval

In ES6, direct eval() in sloppy mode uses the enclosing function-level
("var") scope for var-style bindings and a new lexical scope for lexical
bindings like let and class. This patch implements that feature by making
lexical bindings that are directly within an EVAL_SCOPE be on the local
scope rather than the enclosing one.

BUG=v8:4288
LOG=Y
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#30120}

9 years ago[runtime] Store constructor function index on primitive maps.
bmeurer [Tue, 11 Aug 2015 19:36:04 +0000 (12:36 -0700)]
[runtime] Store constructor function index on primitive maps.

This way we can greatly simplify the different variants of ToObject in
our codebase and make them more uniform and robust.  Adding a new
primitive doesn't require finding and changing all those places again,
but it is sufficient to setup the constructor function index when
allocating the map.

We use the inobject properties field of Map, which is invalid primitive
maps anyway.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30119}

9 years agoDelete outdated comment about a bug which was fixed three years ago
littledan [Tue, 11 Aug 2015 18:43:34 +0000 (11:43 -0700)]
Delete outdated comment about a bug which was fixed three years ago

R=adamk
BUG=chromium:135066
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30118}

9 years agoAdd includes method to typed arrays
domenic [Tue, 11 Aug 2015 17:55:07 +0000 (10:55 -0700)]
Add includes method to typed arrays

R=littledan@chromium.org, adamk@chromium.org
BUG=v8:3575
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#30117}

9 years agorun-tests.py: warn when no tests were run
adamk [Tue, 11 Aug 2015 17:03:23 +0000 (10:03 -0700)]
run-tests.py: warn when no tests were run

The previous approach to this (in 1b1de2d22) did not work well with
bots that intentionally run no tests. But I think this warning message
is still useful for developers.

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

Cr-Commit-Position: refs/heads/master@{#30116}

9 years agoReland: [turbofan] Various fixes to allow unboxed doubles as arguments in registers...
titzer [Tue, 11 Aug 2015 15:23:04 +0000 (08:23 -0700)]
Reland: [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack.

OCL: https://codereview.chromium.org/1263033004/

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30115}

9 years agoRespect old generation limit in large object space allocations.
hpayer [Tue, 11 Aug 2015 14:51:55 +0000 (07:51 -0700)]
Respect old generation limit in large object space allocations.

Also remove unused max_capcity_ field in old spaces.

BUG=chromium:518028,chromium:504854
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30114}

9 years agoUse TimeTicks instead of Time in FutexEmulation::Wait.
binji [Tue, 11 Aug 2015 14:28:06 +0000 (07:28 -0700)]
Use TimeTicks instead of Time in FutexEmulation::Wait.

BUG=v8:4357
R=machenbach@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30113}

9 years agoRevert of Debugger: clear shared function info list when recompiling for liveedit...
vogelheim [Tue, 11 Aug 2015 13:56:15 +0000 (06:56 -0700)]
Revert of Debugger: clear shared function info list when recompiling for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1270313003/ )

Reason for revert:
Sorry for revert, but this change breaks one of the webkit-unit-tests.

Example here: https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/1178/layout-test-results/inspector/sources/debugger/live-edit-no-reveal-diff.txt

Not sure if the old expectations were right, or the new ones are. :)

Original issue's description:
> Debugger: clear shared function info list when recompiling for liveedit.
>
> R=bmeurer@chromium.org
> BUG=chromium:517594
> LOG=N
>
> Committed: https://crrev.com/9eea3ef5147a5e15256093fb4c36a7598d60d128
> Cr-Commit-Position: refs/heads/master@{#30111}

TBR=bmeurer@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:517594

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

Cr-Commit-Position: refs/heads/master@{#30112}

9 years agoDebugger: clear shared function info list when recompiling for liveedit.
yangguo [Tue, 11 Aug 2015 12:00:38 +0000 (05:00 -0700)]
Debugger: clear shared function info list when recompiling for liveedit.

R=bmeurer@chromium.org
BUG=chromium:517594
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30111}

9 years agoRealize IWYU pattern for handles.h header.
mstarzinger [Tue, 11 Aug 2015 12:00:01 +0000 (05:00 -0700)]
Realize IWYU pattern for handles.h header.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30110}

9 years ago[heap] Avoid inclusion of objects-visiting-inl.h header.
mstarzinger [Tue, 11 Aug 2015 11:29:59 +0000 (04:29 -0700)]
[heap] Avoid inclusion of objects-visiting-inl.h header.

R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30109}

9 years ago[stubs] Store typeof string on Oddballs.
bmeurer [Tue, 11 Aug 2015 10:47:24 +0000 (03:47 -0700)]
[stubs] Store typeof string on Oddballs.

First step to simplify the TypeofStub. This is similar to the
optimization that we use for ToNumber and ToString on Oddballs already.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30108}

9 years ago[simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values.
bmeurer [Tue, 11 Aug 2015 09:45:25 +0000 (02:45 -0700)]
[simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values.

There's no need to have one InstanceType per SIMD primitive type (this
will not scale long-term).  Also reduce the amount of code duplication
and make it more robust wrt adding new SIMD types.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30107}

9 years agoRemove redundant handle in ScopeIterator constructor.
yangguo [Tue, 11 Aug 2015 09:32:27 +0000 (02:32 -0700)]
Remove redundant handle in ScopeIterator constructor.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30106}

9 years agoRewrite Error.prototype.toString in C++.
yangguo [Tue, 11 Aug 2015 09:15:27 +0000 (02:15 -0700)]
Rewrite Error.prototype.toString in C++.

This avoids many back-and-forth calls to the runtime.

This also slightly changes the way we avoid getters. Previously, we circumvent getting the name property of ReferenceError, SyntaxError and TypeError due to crbug/69187 (in order to avoid leaking information from those errors through a 'name' getter installed on their prototypes). Now we do that for all errors created by V8.

R=jkummerow@chromium.org, rossberg@chromium.org
BUG=crbug:513472, crbug:69187
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30105}

9 years agoDebugger: correctly find closure to recompile eval for debugging.
yangguo [Tue, 11 Aug 2015 08:20:29 +0000 (01:20 -0700)]
Debugger: correctly find closure to recompile eval for debugging.

R=mstarzinger@chromium.org
BUG=chromium:517592
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30104}

9 years agoUse static_cast<> for NULL (clang 3.7)
saper [Tue, 11 Aug 2015 07:48:49 +0000 (00:48 -0700)]
Use static_cast<> for NULL (clang 3.7)

The following errors come up when compiling v8
 with clang 3.7 on FreeBSD/amd64:

src/runtime/runtime-i18n.cc:629:37: error: reinterpret_cast from
'nullptr_t' to 'v8::internal::Smi *' is not allowed
  local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL));
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

test/cctest/test-heap.cc:131:20: error: reinterpret_cast from
      'nullptr_t' to 'v8::internal::Object *' is not allowed
  Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test/cctest/test-heap.cc:1989:18: error: reinterpret_cast from
      'nullptr_t' to 'Address' (aka 'unsigned char *') is not
      allowed
  Address base = reinterpret_cast<Address>(NULL);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+add myself to the AUTHORS file.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#30103}

9 years agoRemove several grab-bag includes from the v8.h header.
mstarzinger [Tue, 11 Aug 2015 07:34:10 +0000 (00:34 -0700)]
Remove several grab-bag includes from the v8.h header.

This is the first step of turning the v8.h file into a normal header
instead of an include-the-world header. The new rule is that no other
header files are allowed to include v8.h, which is enforced by DEPS.

Also the number of includes inside the v8.h file has been drastically
reduced. Basically the last missing piece is the inclusion of the big
objects-inl.h file.

This in turn makes many headers follow the IWYU principle.

R=bmeurer@chromium.org,hpayer@chromium.org,titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30102}

9 years agoRevert of [turbofan] Various fixes to allow unboxed doubles as arguments in registers...
yangguo [Tue, 11 Aug 2015 06:48:25 +0000 (23:48 -0700)]
Revert of [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack. (patchset #7 id:120001 of https://codereview.chromium.org/1263033004/ )

Reason for revert:
This CL breaks MIPS (roll blocker).

https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20mipsel%20-%20sim/builds/2061/steps/Check/logs/Run_Int32_Select_1

Original issue's description:
> [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack.
>
> R=jarin@chromium.org
> BUG=
>
> Committed: https://crrev.com/71409be5395f867bbca0f6998bf6caa175cd8192
> Cr-Commit-Position: refs/heads/master@{#30091}

TBR=jarin@chromium.org,titzer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30101}

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 11 Aug 2015 03:25:06 +0000 (20:25 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to b66ad18bb147f02b74b207358140371382b0ef35

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30100}

9 years ago[d8 Workers] Make Worker prototype read-only
binji [Tue, 11 Aug 2015 00:17:01 +0000 (17:17 -0700)]
[d8 Workers] Make Worker prototype read-only

BUG=chromium:518747
R=mstarzinger@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30099}

9 years ago[es6] Add appropriate ToString call to String.prototype.normalize
adamk [Tue, 11 Aug 2015 00:11:58 +0000 (17:11 -0700)]
[es6] Add appropriate ToString call to String.prototype.normalize

R=littledan@chromium.org
BUG=v8:4304
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30098}

9 years agoRevert of Make run-tests.py warn when it's not testing anything (patchset #1 id:1...
machenbach [Mon, 10 Aug 2015 18:54:52 +0000 (11:54 -0700)]
Revert of Make run-tests.py warn when it's not testing anything (patchset #1 id:1 of https://codereview.chromium.org/1283513003/ )

Reason for revert:
Some bots that don't run tests (by design) don't return the test results json anymore which makes the infrastructure side fail now.

Original issue's description:
> Make run-tests.py warn when it's not testing anything
>
> I've often been confused by an "all passed" run of the test script
> when it turned out that either all the tests I cared about were skipped
> or, more likely, I mistyped the name(s) of the tests I wanted to run.
> This patch aims to fix that (and gives a useful diagnostic for the
> "all matched tests were skipped" case).
>
> R=machenbach@chromium.org
> NOTRY=true
>
> Committed: https://crrev.com/1b1de2d221a0ed23e529e91bf9fa3dc287acb2ca
> Cr-Commit-Position: refs/heads/master@{#30095}

TBR=jkummerow@chromium.org,adamk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30097}

9 years ago[interpreter] Fix nosnap build for interpreter table generation.
rmcilroy [Mon, 10 Aug 2015 18:22:07 +0000 (11:22 -0700)]
[interpreter] Fix nosnap build for interpreter table generation.

Moves the creation of the interpreter table early on during initialization
to ensure that even on nosnap builds it still gets allocated in the
first page.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30096}

9 years agoMake run-tests.py warn when it's not testing anything
adamk [Mon, 10 Aug 2015 18:16:23 +0000 (11:16 -0700)]
Make run-tests.py warn when it's not testing anything

I've often been confused by an "all passed" run of the test script
when it turned out that either all the tests I cared about were skipped
or, more likely, I mistyped the name(s) of the tests I wanted to run.
This patch aims to fix that (and gives a useful diagnostic for the
"all matched tests were skipped" case).

R=machenbach@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30095}

9 years agoRemove spammy "Network distribution disabled" message from default config
adamk [Mon, 10 Aug 2015 18:15:16 +0000 (11:15 -0700)]
Remove spammy "Network distribution disabled" message from default config

R=machenbach@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#30094}

9 years ago[heap] Avoid inclusion of heap internals in v8.h header.
mstarzinger [Mon, 10 Aug 2015 17:06:04 +0000 (10:06 -0700)]
[heap] Avoid inclusion of heap internals in v8.h header.

R=mlippautz@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30093}

9 years ago[heap] Avoid overzealous inclusion of heap internal headers.
mstarzinger [Mon, 10 Aug 2015 16:32:08 +0000 (09:32 -0700)]
[heap] Avoid overzealous inclusion of heap internal headers.

This is a first step towards constraining down the heap interface to
just the heap.h file. Note that many includes still leak through that
file to the global "src" directory, but there now is a single place
controlling which declarations leak that way. Especially inclusion of
inline header files within "heap" has been limited drastically.

R=hpayer@chromium.org,mlippautz@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30092}

9 years ago[turbofan] Various fixes to allow unboxed doubles as arguments in registers and on...
titzer [Mon, 10 Aug 2015 14:14:20 +0000 (07:14 -0700)]
[turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#30091}

9 years ago[heap] Remove obsolete constructors from SemiSpaceIterator.
mstarzinger [Mon, 10 Aug 2015 12:54:03 +0000 (05:54 -0700)]
[heap] Remove obsolete constructors from SemiSpaceIterator.

R=mlippautz@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30090}

9 years agoFilter out recorded slots of deoptimized code objects directly after deoptimization.
hpayer [Mon, 10 Aug 2015 12:31:00 +0000 (05:31 -0700)]
Filter out recorded slots of deoptimized code objects directly after deoptimization.

BUG=chromium:507211
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#30089}

9 years ago[crankshaft] Properly optimize %_ToObject.
bmeurer [Mon, 10 Aug 2015 12:07:11 +0000 (05:07 -0700)]
[crankshaft] Properly optimize %_ToObject.

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

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

Cr-Commit-Position: refs/heads/master@{#30088}

9 years ago[interpreter] Adds interpreter cctests.
rmcilroy [Mon, 10 Aug 2015 11:20:23 +0000 (04:20 -0700)]
[interpreter] Adds interpreter cctests.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30087}

9 years ago[runtime] Remove obsolete %GetPropertyNames runtime entry.
bmeurer [Mon, 10 Aug 2015 11:18:22 +0000 (04:18 -0700)]
[runtime] Remove obsolete %GetPropertyNames runtime entry.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30086}

9 years ago[runtime] Remove unused %ToBool runtime function.
bmeurer [Mon, 10 Aug 2015 10:32:43 +0000 (03:32 -0700)]
[runtime] Remove unused %ToBool runtime function.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30085}

9 years agoDisable --global-var-shortcuts.
yangguo [Mon, 10 Aug 2015 09:29:03 +0000 (02:29 -0700)]
Disable --global-var-shortcuts.

R=jkummerow@chromium.org
BUG=chromium:517778
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#30084}

9 years ago[GC] Remove FLAG_incremental_marking_steps
mlippautz [Mon, 10 Aug 2015 08:53:34 +0000 (01:53 -0700)]
[GC] Remove FLAG_incremental_marking_steps

BUG=

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

Cr-Commit-Position: refs/heads/master@{#30083}

9 years ago[turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines.
bmeurer [Mon, 10 Aug 2015 07:17:16 +0000 (00:17 -0700)]
[turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines.

TurboFan is now a requirement and supported by all backends, so we don't
need those macros (plus all the machinery on top) anymore.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30082}

9 years ago[runtime] Remove premature optimization from ToPrimitive.
bmeurer [Mon, 10 Aug 2015 06:07:20 +0000 (23:07 -0700)]
[runtime] Remove premature optimization from ToPrimitive.

The !IS_SPEC_OBJECT(x) check implies both IS_STRING(x) and
IS_SIMD_VALUE(x), and generates shorter/better code.  So we
can safely remove the redundant checks.

R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30081}

9 years ago[runtime] Simplify TO_INT32/TO_UINT32 abstract operations.
bmeurer [Mon, 10 Aug 2015 04:54:20 +0000 (21:54 -0700)]
[runtime] Simplify TO_INT32/TO_UINT32 abstract operations.

No need to provide TO_INT32/TO_UINT32 functions for every native
context, as they can be implemented in terms of TO_NUMBER more easily
and efficiently.

Also remove the obsolete TO_BOOLEAN_FUN_INDEX from the native contexts.

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

Cr-Commit-Position: refs/heads/master@{#30080}

9 years agoFasterify JSObject::UnregisterPrototypeUser
jkummerow [Sat, 8 Aug 2015 22:56:15 +0000 (15:56 -0700)]
Fasterify JSObject::UnregisterPrototypeUser

When a (prototype) map registers as a user of its own prototype, it now remembers the index in that prototype's registry where it is listed.
This remembered index is used on un-registration to find the right slot to clear without walking the entire registry.
Compaction of the registry must update all entries' remembered indices.

BUG=chromium:517778,chromium:517406
LOG=n
R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30079}