platform/upstream/v8.git
8 years agoFix function scoping issue
littledan [Sat, 22 Aug 2015 00:18:12 +0000 (17:18 -0700)]
Fix function scoping issue

The parser has special behavior with respect to the bindings
of inner functions in sloppy mode which are not at the top
level of scopes. This behavior should be turned off when the
--harmony-sloppy-function flag is set, as lexical scoping
rules are used instead. Previously, the incorrect flag
--harmony-sloppy was used, resulting in a crashing bug.

BUG=chromium:520029
LOG=Y
R=adamk

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

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

8 years agoAdd a separate scope for switch
littledan [Fri, 21 Aug 2015 23:54:21 +0000 (16:54 -0700)]
Add a separate scope for switch

The ES2015 specification for switch statements 13.12.11 specifies that
they get their own lexical scope. This patch introduces such a scope
through a complex desugaring in terms of blocks, done so that Crankshaft
does not have to be updated to support multiple constructs providing
scopes.

BUG=v8:4377
LOG=Y
R=adamk

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

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

8 years agoDon't allocate AstTyper with the zone allocator.
bradnelson [Fri, 21 Aug 2015 18:15:33 +0000 (11:15 -0700)]
Don't allocate AstTyper with the zone allocator.

While the class Type objects the AstTyper generates should be
allocated to zone memory, there's no particular reason
the typer object itself needs to be.

BUG=None
TEST=None
R=rossberg@chromium.org,titzer@chromium.org
LOG=N

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

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

8 years agoRename FullCodeGenerator::function to literal.
mstarzinger [Fri, 21 Aug 2015 16:42:54 +0000 (09:42 -0700)]
Rename FullCodeGenerator::function to literal.

R=titzer@chromium.org

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

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

8 years agoSignal a blocked futex if the isolate is interrupted; don't busy-wait
binji [Fri, 21 Aug 2015 16:41:43 +0000 (09:41 -0700)]
Signal a blocked futex if the isolate is interrupted; don't busy-wait

FutexEmulation::Wait can potentially block forever on a condition variable. We
want to allow this to be interrupted (for a debugger, or to terminate the
thread, for example).

The previous implementation would periodically wake up the waiter to check for
interrupts. This CL modifies the StackGuard so it wakes the blocked futex if
the thread should be interrupted.

BUG=chromium:497295
R=jarin@chromium.org
LOG=n

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

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

8 years agoRevert of Concurrently unmap free pages. (patchset #4 id:60001 of https://codereview...
vogelheim [Fri, 21 Aug 2015 16:20:50 +0000 (09:20 -0700)]
Revert of Concurrently unmap free pages. (patchset #4 id:60001 of https://codereview.chromium.org/1303263002/ )

Reason for revert:
Several tests on V8 Linux64 TSAN bot are broken, due to data races between allocation & GC.

A bisect points to this CL, and the CL description sounds pertinent to the observed breakage.

Original issue's description:
> Concurrently unmap free pages.
>
> BUG=
>
> Committed: https://crrev.com/d1aeb45d96123d47023066b244c0f450fbe57d2d
> Cr-Commit-Position: refs/heads/master@{#30306}

TBR=mlippautz@chromium.org,hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

8 years agoDeprecate useless CompilationInfo::IsOptimizable predicate.
mstarzinger [Fri, 21 Aug 2015 15:21:08 +0000 (08:21 -0700)]
Deprecate useless CompilationInfo::IsOptimizable predicate.

R=titzer@chromium.org

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

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

8 years agoDeprecate semi-correct CompilationInfo::flags predicate.
mstarzinger [Fri, 21 Aug 2015 15:10:38 +0000 (08:10 -0700)]
Deprecate semi-correct CompilationInfo::flags predicate.

R=titzer@chromium.org

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

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

8 years ago[turbofan] Add control and effect inputs to RawMachineAssembler calls.
rmcilroy [Fri, 21 Aug 2015 13:52:31 +0000 (06:52 -0700)]
[turbofan] Add control and effect inputs to RawMachineAssembler calls.

Calls should have control and effect inputs, which were previously missing
for RawMachineAssembler call operations. Add control and effect edges to
graph()->start().

BUG=v8:4280
LOG=N

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

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

8 years agoConcurrently unmap free pages.
hpayer [Fri, 21 Aug 2015 13:25:01 +0000 (06:25 -0700)]
Concurrently unmap free pages.

BUG=

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

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

8 years agoSmall MessageLocation related refactoring.
yangguo [Fri, 21 Aug 2015 13:18:54 +0000 (06:18 -0700)]
Small MessageLocation related refactoring.

R=cbruni@chromium.org

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

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

8 years ago[heap] Move StoreBufferRebuilder into the correct header.
mstarzinger [Fri, 21 Aug 2015 13:00:50 +0000 (06:00 -0700)]
[heap] Move StoreBufferRebuilder into the correct header.

R=mlippautz@chromium.org

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

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

8 years ago[heap] Disable moving object starts aka left trimming
mlippautz [Fri, 21 Aug 2015 12:59:22 +0000 (05:59 -0700)]
[heap] Disable moving object starts aka left trimming

BUG=

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

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

8 years agoUpdate version to 4.7
Michael Hablich [Fri, 21 Aug 2015 12:40:27 +0000 (14:40 +0200)]
Update version to 4.7

BUG=
TBR=vogelheim@chromium.org,yangguo@chromium.org
NOTRY=true

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

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

8 years ago[heap,cctest] Get rid of protected-for-sake-of-testing scope.
mlippautz [Fri, 21 Aug 2015 12:40:22 +0000 (05:40 -0700)]
[heap,cctest] Get rid of protected-for-sake-of-testing scope.

BUG=

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

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

8 years ago[heap] Move RegExpResultCache out of the heap.
mstarzinger [Fri, 21 Aug 2015 12:34:17 +0000 (05:34 -0700)]
[heap] Move RegExpResultCache out of the heap.

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

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

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

8 years agoRecord slots in large objects.
hpayer [Fri, 21 Aug 2015 11:41:46 +0000 (04:41 -0700)]
Record slots in large objects.

BUG=

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

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

8 years agoParse arrow functions at proper precedence level
wingo [Fri, 21 Aug 2015 11:33:28 +0000 (04:33 -0700)]
Parse arrow functions at proper precedence level

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

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

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

8 years agoX87: VectorICs: New interface descriptor for vector transitioning stores.
chunyang.dai [Fri, 21 Aug 2015 11:15:01 +0000 (04:15 -0700)]
X87: VectorICs: New interface descriptor for vector transitioning stores.

port cd35155918f8f1a081a208721a878deba00a252b (r30284).

original commit message:

BUG=

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

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

8 years agoX87: Cleanup: Remove unncessary leave_frame parameter from stub cache.
chunyang.dai [Fri, 21 Aug 2015 11:02:39 +0000 (04:02 -0700)]
X87: Cleanup: Remove unncessary leave_frame parameter from stub cache.

port fe432e1ace48c345c659c0bcb6a84798bca0b15e (r30250).

original commit message:

BUG=

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

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

8 years ago[es6] Parameter scopes for sloppy eval
rossberg [Fri, 21 Aug 2015 10:58:35 +0000 (03:58 -0700)]
[es6] Parameter scopes for sloppy eval

This CL is a nightmare! For the utterly irrelevant edge case of a sloppy function with non-simple parameters and a call to direct eval, like here,

  let x = 1;
  function f(g = () => x) {
    var y
    eval("var x = 2")
    return g() + x  // f() = 3
  }

we have to do all of the following, on top of the declaration block ("varblock") contexts we already introduce around the body:

- Introduce the ability for varblock contexts to have both a ScopeInfo and an extension object (e.g., the body varblock in the example will contain both a static var y and a dynamic var x). No other scope needs that. Since there are no context slots left, a special new struct is introduced that pairs up scope info and extension object.

- When declaring lookup slots in the runtime, this new struct is allocated in the case where an extension object has to be added to a block scope (at which point the block's extension slot still contains a plain ScopeInfo).

- While at it, introduce some abstraction to access context extension slots in a more controlled manner, in order to keep special-casing to a minimum.

- Make sure that even empty varblock contexts do not get optimised away when they contain a sloppy eval, so that they can host the potential extension object.

- Extend dynamic search for declaration contexts (used by sloppy direct eval) to recognize varblock contexts.

- In the parser, if a function has a sloppy direct eval, introduce an additional varblock scope around each non-simple (desugared) parameter, as required by the spec to contain possible dynamic var bindings.

- In the pattern rewriter, add the ability to hoist the named variables the pattern declares to an outer scope. That is required because the actual destructuring has to be evaluated inside the protecting varblock scope, but the bindings that the desugaring introduces are in the outer scope.

- ScopeInfos need to save the information whether a block is a varblock, to make sloppy eval calls work correctly that deserialise them as part of the scope chain.

- Add the ability to materialize block scopes with extension objects in the debugger. Likewise, enable setting extension variables in block scopes via the debugger interface.

- While at it, refactor and unify some respective code in the debugger.

Sorry, this CL is large. I could try to split it up, but everything is rather entangled.

@mstarzinger: Please review the changes to contexts.
@yangguo: Please have a look at the debugger stuff.

R=littledan@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org
BUG=v8:811,v8:2160
LOG=N

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

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

8 years ago[simd] Introduce SIMD types (as classes)
rossberg [Fri, 21 Aug 2015 10:49:31 +0000 (03:49 -0700)]
[simd] Introduce SIMD types (as classes)

- Introduce a proper bit for SIMD primitive values.
- Introduce constructors for individual SIMD types. These are currently just classes, which seems good enough for now, given that we always have exactly one global map per SIMD type.

The only problem with using class types for SIMD is that a SIMD constant won't be a subtype of its specific type, only of the general SIMD type. But until we actually introduce SIMD constants into the compiler that shouldn't matter.

R=jarin@chromium.org
BUG=

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

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

8 years agoX87: [turbofan] Fix stack->stack double moves for pushing on ia32 and x64.
chunyang.dai [Fri, 21 Aug 2015 10:42:18 +0000 (03:42 -0700)]
X87: [turbofan] Fix stack->stack double moves for pushing on ia32 and x64.

port d0bacc61e6930d97888bf747a76bcfa329995847 (r30235).

original commit message:

BUG=

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

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

8 years agoX87: [turbofan] Unify referencing of stack slots
chunyang.dai [Fri, 21 Aug 2015 10:26:17 +0000 (03:26 -0700)]
X87: [turbofan] Unify referencing of stack slots

port cbbaf9ea6abbc0417ee5765a4c58f1dda939ead0 (r30224).

original commit message:

    [turbofan] Unify referencing of stack slots

    Previously, it was not possible to specify StackSlotOperands for all
    slots in both the caller and callee stacks. Specifically, the region
    of the callee's stack including the saved return address, frame
    pointer, function pointer and context pointer could not be addressed
    by the register allocator/gap resolver.

    In preparation for better tail call support, which will use the gap
    resolver to reconcile outgoing parameters, this change makes it
    possible to address all slots on the stack, because slots in the
    previously inaccessible dead zone may become parameter slots for
    outgoing tail calls. All caller stack slots are accessible as they
    were before, with slot -1 corresponding to the last stack
    parameter. Stack slot indices >= 0 access the callee stack, with slot
    0 corresponding to the callee's saved return address, 1 corresponding
    to the saved frame pointer, 2 corresponding to the current function
    context, 3 corresponding to the frame marker/JSFunction, and slots 4
    and above corresponding to spill slots.

    The following changes were specifically     needed:

    * Frame     has been changed to explicitly manage three areas of the
      callee frame, the fixed header, the spill slot area, and the
      callee-saved register area.
    * Conversions from stack slot indices to fp offsets all now go through
      a common bottleneck: OptimizedFrame::StackSlotOffsetRelativeToFp
    * The generation of deoptimization translation tables has been changed
      to support the new stack slot indexing scheme. Crankshaft, which
      doesn't support the new slot numbering in its register allocator,
      must adapt the indexes when creating translation tables.
    * Callee-saved parameters are now kept below spill slots, not above,
      to support saving only the optimal set of used registers, which is
      only known after register allocation is finished and spill slots
      have been allocated.

BUG=

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

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

8 years agoRemove code.h header and move ParameterCount class.
mstarzinger [Fri, 21 Aug 2015 10:25:10 +0000 (03:25 -0700)]
Remove code.h header and move ParameterCount class.

R=bmeurer@chromium.org

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

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

8 years agoX87: [turbofan] Support unboxed float and double stack parameters and add tests.
chunyang.dai [Fri, 21 Aug 2015 10:20:13 +0000 (03:20 -0700)]
X87: [turbofan] Support unboxed float and double stack parameters and add tests.

port 0492bb3291c838d7e11261abc32af58bed58bcf0 (r30203).

original commit message:

BUG=

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

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

8 years agoX87: [interpreter]: Changes to interpreter builtins for accumulator and register...
chunyang.dai [Fri, 21 Aug 2015 10:14:51 +0000 (03:14 -0700)]
X87: [interpreter]: Changes to interpreter builtins for accumulator and register file registers.

port 00df60d1c6943a10fb5ca84fce2c017dcd2001f5 (r30219).

original commit message:

    Makes the following modifications to the interpreter builtins and
    InterpreterAssembler:
     - Adds an accumulator register and initializes it to undefined()
     - Adds a register file pointer register and use it instead of FramePointer to
       access registers
     - Modifies builtin to support functions with 0 regiters in the register file
     - Modifies builtin to Call rather than TailCall to first bytecode handler.

BUG=

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

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

8 years agoX87: [simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values.
chunyang.dai [Fri, 21 Aug 2015 10:10:35 +0000 (03:10 -0700)]
X87: [simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values.

port f4c079d450a5990639b295d40a3d1663d70412d6 (r30107).

This is the appendix of 458dfe3b943edb3238917edfe9e2dde326cd1adb which misses
one modified file.

original commit message:

    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.

BUG=

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

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

8 years ago[heap] Thread through GC flags in memory reducer and incremental marking.
mlippautz [Fri, 21 Aug 2015 10:05:18 +0000 (03:05 -0700)]
[heap] Thread through GC flags in memory reducer and incremental marking.

BUG=chromium:520607
LOG=N

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

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

8 years agoFix parsing of arrow function formal parameters
wingo [Fri, 21 Aug 2015 09:28:54 +0000 (02:28 -0700)]
Fix parsing of arrow function formal parameters

Not all parenthesized AssignmentExpressions whose components are valid
binding patterns are valid arrow function formal parameters.  In
particular (a,b,c)() is not valid, and in general the existing code
wasn't catching the tail productions of ConditionalExpression,
BinaryExpression, PostfixExpression, LeftHandSideExpression,
and MemberExpression.

Thanks to Adrian Perez for the test case.

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

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

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

8 years agoDo not use js builtins object to determine whether a function is a builtin.
yangguo [Fri, 21 Aug 2015 09:12:57 +0000 (02:12 -0700)]
Do not use js builtins object to determine whether a function is a builtin.

We can use the script type to determine that instead. Script of type
TYPE_NATIVE are considered builtins, TYPE_NORMAL are not. The only exception
to this rule is the empty function, for which the script is TYPE_NATIVE
(observable by the debugger), but should be stringified to "function () {}"
instead of "function () { [native code] }". For this, I introduce a
hide_source flag on the script object.

We also use IsBuiltin and IsSubjectToDebugging interchangeably. For debugger,
we now use the latter, hiding the detail that only non-builtins are debuggable.

R=mstarzinger@chromium.org

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

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

8 years agoVectorICs: New interface descriptor for vector transitioning stores.
mvstanton [Fri, 21 Aug 2015 09:04:43 +0000 (02:04 -0700)]
VectorICs: New interface descriptor for vector transitioning stores.

BUG=

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

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

8 years agoIntroduce SharedFunctionInfo::Iterator and Script::Iterator.
yangguo [Fri, 21 Aug 2015 08:12:11 +0000 (01:12 -0700)]
Introduce SharedFunctionInfo::Iterator and Script::Iterator.

R=mvstanton@chromium.org

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

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

8 years agoRemove obsolete static methods from V8 class.
mstarzinger [Fri, 21 Aug 2015 07:41:24 +0000 (00:41 -0700)]
Remove obsolete static methods from V8 class.

R=bmeurer@chromium.org

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

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

8 years ago[heap] Cleanup and fix GC flags
mlippautz [Fri, 21 Aug 2015 07:09:08 +0000 (00:09 -0700)]
[heap] Cleanup and fix GC flags

GC flags are now part of the {Heap} and should be respected by all
sub-components.

Also add a infrastructure to write tests accessing private methods.

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

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

8 years agoUnify symbols sharing across native scripts and runtime.
yangguo [Fri, 21 Aug 2015 06:44:17 +0000 (23:44 -0700)]
Unify symbols sharing across native scripts and runtime.

We currently have several ways to share symbols that are used in
both native scripts and the runtime. This change unifies this.
We do not use the symbols registry since we don't need the
registry any longer after bootstrapping, but the registry stays
alive afterwards.

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

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Fri, 21 Aug 2015 03:30:58 +0000 (20:30 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 5439585778385813bc7711f3d6b7035b9eb78572

TBR=machenbach@chromium.org

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

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

8 years agoFix bug in Code::VerifyRecompiledCode.
yangguo [Thu, 20 Aug 2015 17:19:44 +0000 (10:19 -0700)]
Fix bug in Code::VerifyRecompiledCode.

The code should do what the comment says :)

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

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

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

8 years ago[heap] Hide MemoryReducer inside the heap component.
mstarzinger [Thu, 20 Aug 2015 16:48:37 +0000 (09:48 -0700)]
[heap] Hide MemoryReducer inside the heap component.

This prevents leakage of the memory-reducer.h declarations inside of the
heap and prevents it from being exposed to the world. Protects private
state from being inadvertently mocked with.

R=mlippautz@chromium.org

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

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

8 years ago[heap] Hide GCTracer inside the heap component.
mstarzinger [Thu, 20 Aug 2015 15:47:59 +0000 (08:47 -0700)]
[heap] Hide GCTracer inside the heap component.

This prevents leakage of the gc-tracer.h declarations inside of the
heap and prevents it from being exposed to the world. Protects private
state from being inadvertently mocked with.

R=mlippautz@chromium.org

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

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

8 years agoDon't filter store buffer after sweeping.
hpayer [Thu, 20 Aug 2015 15:33:06 +0000 (08:33 -0700)]
Don't filter store buffer after sweeping.

Additionally, this CL moves a bit of code around to free up more memory before compaction starts.

BUG=

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

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

8 years agoSimplify KeyedAccessStoreMode.
mvstanton [Thu, 20 Aug 2015 14:40:11 +0000 (07:40 -0700)]
Simplify KeyedAccessStoreMode.

The map tells us the source elements kind, and holeyness.

BUG=

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

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

8 years agoLarge objects do not require special handling anymore when they are freed.
hpayer [Thu, 20 Aug 2015 14:21:47 +0000 (07:21 -0700)]
Large objects do not require special handling anymore when they are freed.

Invalid slots in large objects can only occur when large objects became dead. These slots are filtered out already after marking.

BUG=

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

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

8 years ago[heap] Move {hidden_string} into the root list.
mstarzinger [Thu, 20 Aug 2015 14:08:38 +0000 (07:08 -0700)]
[heap] Move {hidden_string} into the root list.

R=hpayer@chromium.org

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

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

8 years agoRevert of Moving ArraySplice Builtin to ElementsAccessor (patchset #6 id:100001 of...
cbruni [Thu, 20 Aug 2015 13:50:59 +0000 (06:50 -0700)]
Revert of Moving ArraySplice Builtin to ElementsAccessor (patchset #6 id:100001 of https://codereview.chromium.org/1293683005/ )

Reason for revert:
failing bot http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/3827

Original issue's description:
> - remove the Backing-Store speficic code from builtins.cc and put it in elements.cc.
> - adding tests to improve coverage of the splice method
>
> BUG=
>
> Committed: https://crrev.com/8533d4b5433d3a9e9fb1015f206997bd6d869fe3
> Cr-Commit-Position: refs/heads/master@{#30269}

TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

8 years agoMake snapshot.h usable without objects-inl.h header.
mstarzinger [Thu, 20 Aug 2015 13:05:58 +0000 (06:05 -0700)]
Make snapshot.h usable without objects-inl.h header.

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

R=yangguo@chromium.org

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

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

8 years ago- remove the Backing-Store speficic code from builtins.cc and put it in elements.cc.
cbruni [Thu, 20 Aug 2015 12:54:40 +0000 (05:54 -0700)]
- remove the Backing-Store speficic code from builtins.cc and put it in elements.cc.
- adding tests to improve coverage of the splice method

BUG=

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

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

8 years agoSeparate UnicodeCache out into an own file.
mstarzinger [Thu, 20 Aug 2015 11:46:54 +0000 (04:46 -0700)]
Separate UnicodeCache out into an own file.

This make inclusion of unicode-inl.h in object.h absolete. Now most
compilation units don't require that header. It also breaks a cycle
within declarations of the scanner.h header.

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 3 violations of that rule in the
code, checked with the "tools/check-inline-includes.sh" tool.

R=yangguo@chromium.org

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

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

8 years ago[heap] Remove unflattened_string_length
mlippautz [Thu, 20 Aug 2015 10:00:12 +0000 (03:00 -0700)]
[heap] Remove unflattened_string_length

BUG=

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

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

8 years agoAdd deserialized scripts to script list.
yangguo [Thu, 20 Aug 2015 09:26:21 +0000 (02:26 -0700)]
Add deserialized scripts to script list.

TBR=mvstanton@chromium.org

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

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

8 years agoTurn v8.h into a normal header.
mstarzinger [Thu, 20 Aug 2015 09:24:24 +0000 (02:24 -0700)]
Turn v8.h into a normal header.

R=bmeurer@chromium.org

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

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

8 years agoKeep track of script objects in a weak fixed array.
yangguo [Thu, 20 Aug 2015 08:04:41 +0000 (01:04 -0700)]
Keep track of script objects in a weak fixed array.

We need this for the debugger and for future changes that need to
find all shared function infos (through scripts).

R=mvstanton@chromium.org

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

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

8 years agoRemove grab-bag includes of v8.h from everywhere.
mstarzinger [Thu, 20 Aug 2015 07:44:00 +0000 (00:44 -0700)]
Remove grab-bag includes of v8.h from everywhere.

R=bmeurer@chromium.org

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

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

8 years agoMake FlushICache NOP for Nvidia Denver 1.0 only
sbonda [Thu, 20 Aug 2015 04:44:36 +0000 (21:44 -0700)]
Make FlushICache NOP for Nvidia Denver 1.0 only

FlushICache should be NOP for Denver with part numbers 0x0, 0x1 and 0x2 only.
Instruction cache needs to flushed for future versions of denver.

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 20 Aug 2015 03:22:34 +0000 (20:22 -0700)]
Update V8 DEPS.

Rolling v8/third_party/android_tools to 4238a28593b7e6178c95431f91ca8c24e45fa7eb

Rolling v8/tools/clang to 1c7f9147c834d78b36787f31ecfc5c47f3c98da8

TBR=machenbach@chromium.org

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

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

8 years agoAdd experimental, non-snapshotted V8 extras
domenic [Thu, 20 Aug 2015 00:01:07 +0000 (17:01 -0700)]
Add experimental, non-snapshotted V8 extras

Embedders would use these for features which must be able to be turned
off at runtime, despite being compiled into V8. They can be turned on
and off by the embedder using the --experimental_extras flag, e.g. via
v8::SetFlagsFromString.

R=yangguo@chromium.org, mlippautz@chromium.org, hpayer@chromium.org
BUG=chromium:507137
LOG=Y

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

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

8 years ago[api] Relax CHECK for ArrayBuffer API abuse
adamk [Wed, 19 Aug 2015 21:53:01 +0000 (14:53 -0700)]
[api] Relax CHECK for ArrayBuffer API abuse

Zero-length ArrayBuffers are allowed to have NULL backing stores.

BUG=522496
LOG=n

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

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

8 years agoRe-enable regress-crbug-501711 and regress-4279 for --isolates tests
Ben Smith [Wed, 19 Aug 2015 20:59:46 +0000 (13:59 -0700)]
Re-enable regress-crbug-501711 and regress-4279 for --isolates tests

BUG=v8:4378
TBR=yangguo@chromium.org
LOG=n

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

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

8 years agoRemove regress-crbug-518748. It's too hard to make this non-flaky
Ben Smith [Wed, 19 Aug 2015 18:58:02 +0000 (11:58 -0700)]
Remove regress-crbug-518748. It's too hard to make this non-flaky

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

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

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

8 years agoDisable regress-crbug-518748. It is failing/flaking on many bots
Ben Smith [Wed, 19 Aug 2015 17:48:37 +0000 (10:48 -0700)]
Disable regress-crbug-518748. It is failing/flaking on many bots

BUG=chromium:518748
TBR=mstarzinger@chromium.org
LOG=n

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

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

8 years ago[heap] Fix compilation of LargeObjectSpace on Windows.
Michael Starzinger [Wed, 19 Aug 2015 17:39:09 +0000 (19:39 +0200)]
[heap] Fix compilation of LargeObjectSpace on Windows.

R=thakis@chromium.org, titzer@chromium.org

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

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

8 years agoRename ParserInfo::function() and CompilationInfo::function() to literal().
titzer [Wed, 19 Aug 2015 16:51:37 +0000 (09:51 -0700)]
Rename ParserInfo::function() and CompilationInfo::function() to literal().

R=rossberg@chromium.org
BUG=

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

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

8 years ago[heap] Remove obsolete Heap::sweep_generation field.
mstarzinger [Wed, 19 Aug 2015 16:09:40 +0000 (09:09 -0700)]
[heap] Remove obsolete Heap::sweep_generation field.

R=mlippautz@chromium.org

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

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

8 years ago[heap] Fix comment in tracer.
mlippautz [Wed, 19 Aug 2015 15:38:44 +0000 (08:38 -0700)]
[heap] Fix comment in tracer.

BUG=

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

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

8 years agoDo not compact weak fixed array when re-allocating new backing store.
yangguo [Wed, 19 Aug 2015 14:29:35 +0000 (07:29 -0700)]
Do not compact weak fixed array when re-allocating new backing store.

JSObject::UnregisterPrototypeUser relies on the index of the weak
fixed array entry not to change.

See commit 1e65e2018.

There is no bug currently, because we would only re-allocate if there is no empty slot left. In which case there is no actual compaction going on during re-allocation.

R=jkummerow@chromium.org, mvstanton@chromium.org

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

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

8 years agoCleanup: Remove unncessary leave_frame parameter from stub cache.
mvstanton [Wed, 19 Aug 2015 13:51:19 +0000 (06:51 -0700)]
Cleanup: Remove unncessary leave_frame parameter from stub cache.

BUG=

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

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

8 years agoFix variable decl register collision on ARM.
jarin [Wed, 19 Aug 2015 12:50:03 +0000 (05:50 -0700)]
Fix variable decl register collision on ARM.

BUG=chromium:455207
LOG=n
R=ulan@chromium.org

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

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

8 years agoNative context: install JS builtins via container object.
yangguo [Wed, 19 Aug 2015 12:48:57 +0000 (05:48 -0700)]
Native context: install JS builtins via container object.

Instead of installing them on the JS builtins object and later
grab them from there.

R=mvstanton@chromium.org

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

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

8 years agoRealize IWYU pattern for fdlibm.cc file.
mstarzinger [Wed, 19 Aug 2015 12:47:49 +0000 (05:47 -0700)]
Realize IWYU pattern for fdlibm.cc file.

R=bmeurer@chromium.org

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

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

8 years agoNative context: do not hold onto helper functions on the utils object.
yangguo [Wed, 19 Aug 2015 11:30:21 +0000 (04:30 -0700)]
Native context: do not hold onto helper functions on the utils object.

This is to avoid holding onto the function context of prologue.js.

R=cbruni@chromium.org

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

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

8 years agoIgnore test failure for mjsunit/for-in-opt in gc stress.
yangguo [Wed, 19 Aug 2015 10:03:32 +0000 (03:03 -0700)]
Ignore test failure for mjsunit/for-in-opt in gc stress.

TBR=hablich@chromium.org
BUG=v8:4381

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

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

8 years agoNative context: debug.js does not load from js builtins object anymore.
yangguo [Wed, 19 Aug 2015 08:34:21 +0000 (01:34 -0700)]
Native context: debug.js does not load from js builtins object anymore.

This mainly changes how we share ToBoolean, ToNumber and ToString between
native scripts. Instead of putting them on the js builtins object, we now
explicitly export and import those functions.

I also had to change the import/export mechanism slightly. Previously,
exports and imports are hooked up after all native scripts have been
executed. This means that imported functions cannot be called at the time
the native script is executed.

However, since ToBoolean (and also e.g. ObjectDefineProperties) is called
in v8natives.js, I changed the mechanism so that exports from previous
native scripts (runtime.js for ToBoolean) is imported immediately and can
be called.

R=cbruni@chromium.org

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

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

8 years ago[API] Check for NULL external data pointer in ArrayBuffer::New()
jkummerow [Wed, 19 Aug 2015 06:30:41 +0000 (23:30 -0700)]
[API] Check for NULL external data pointer in ArrayBuffer::New()

Embedders must not provide invalid pointers for external backing stores.

BUG=chromium:522128
LOG=n
R=cbruni@chromium.org

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

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

8 years agoUpdate V8 DEPS.
v8-autoroll [Wed, 19 Aug 2015 03:24:16 +0000 (20:24 -0700)]
Update V8 DEPS.

Rolling v8/third_party/android_tools to 9e9b6169a098bc19986e44fbbf65e4c29031e4bd

TBR=machenbach@chromium.org

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

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

8 years agoX87: [simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values.
chunyang.dai [Wed, 19 Aug 2015 03:18:48 +0000 (20:18 -0700)]
X87: [simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values.

port f4c079d450a5990639b295d40a3d1663d70412d6 (r30107).

original commit message:

    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.

BUG=

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

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

8 years agoOnly evaluate length once in %TypedArray%.prototype.set
ejcaruso [Wed, 19 Aug 2015 01:32:56 +0000 (18:32 -0700)]
Only evaluate length once in %TypedArray%.prototype.set

The ES6 spec for this function declares that ToLength
should only be called once. We were evaluating it multiple
times, so if length was an object with a valueOf method,
we could see effects take place multiple times.

R=littledan@chromium.org
LOG=N
BUG=v8:4218

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

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

8 years ago[simd.js] Macro-ize more SIMD code.
bbudge [Tue, 18 Aug 2015 20:39:43 +0000 (13:39 -0700)]
[simd.js] Macro-ize more SIMD code.

Use macros for SIMD get/set_lane, and print fns.

LOG=N
BUG=v8:4124

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

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

8 years agoDisable regress-crbug-518748 on ARM
Ben Smith [Tue, 18 Aug 2015 18:55:44 +0000 (11:55 -0700)]
Disable regress-crbug-518748 on ARM

BUG=chromium:518748
TBR=mstarzinger@chromium.org
LOG=n

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

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

8 years ago[test] Silence array bounds warning. GCC, I think you are wrong in this case.
Ben L. Titzer [Tue, 18 Aug 2015 18:51:20 +0000 (20:51 +0200)]
[test] Silence array bounds warning. GCC, I think you are wrong in this case.

TBR=mstarzinger@chromium.org
BUG=

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

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

8 years agoAdd a makefile option for wasm prototype.
bradnelson [Tue, 18 Aug 2015 18:25:18 +0000 (11:25 -0700)]
Add a makefile option for wasm prototype.

Adding wasm=on when invoking make will build with the wasm prototype, Ex:

make x64.debug wasm=on V=1

BUG=None
TEST=manual
R=titzer@chromium.org,ncbray@chromium.org
LOG=N

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

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

8 years ago[turbofan] Fix stack->stack double moves for pushing on ia32 and x64.
titzer [Tue, 18 Aug 2015 18:21:57 +0000 (11:21 -0700)]
[turbofan] Fix stack->stack double moves for pushing on ia32 and x64.

R=mstarzinger@chromium.org
BUG=

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

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

8 years agoRemove empty string-search.cc file.
mstarzinger [Tue, 18 Aug 2015 18:18:11 +0000 (11:18 -0700)]
Remove empty string-search.cc file.

R=titzer@chromium.org

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

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

8 years agoDisable regress-crbug-518748 on debug
Ben Smith [Tue, 18 Aug 2015 18:16:18 +0000 (11:16 -0700)]
Disable regress-crbug-518748 on debug

Seems to fail only on V8 Linux - debug - code serializer
(See http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20code%20serializer/builds/3762)

BUG=chromium:518748
TBR=mstarzinger@chromium.org
LOG=n

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

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

8 years agoRemove grab-bag includes of v8.h from runtime entries.
mstarzinger [Tue, 18 Aug 2015 17:55:19 +0000 (10:55 -0700)]
Remove grab-bag includes of v8.h from runtime entries.

R=titzer@chromium.org

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

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

8 years ago[d8] Fix compile failure due to kMaxWorkers
Ben Smith [Tue, 18 Aug 2015 17:30:57 +0000 (10:30 -0700)]
[d8] Fix compile failure due to kMaxWorkers

TBR=adamk@chromium.org

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

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

8 years ago[d8 Workers] Add max worker count, throw an exception if too many.
binji [Tue, 18 Aug 2015 17:12:03 +0000 (10:12 -0700)]
[d8 Workers] Add max worker count, throw an exception if too many.

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

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

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

8 years ago[d8] Fix flakiness when calling quit() with isolates
binji [Tue, 18 Aug 2015 16:47:19 +0000 (09:47 -0700)]
[d8] Fix flakiness when calling quit() with isolates

Don't use exit(), use Shell::Exit() (which calls _exit() instead). This won't
run C++ static destructors, atexit() functions, etc., which can occasionally
cause flaky failures.

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

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

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

8 years agoAdd presubmit check for header inclusion violation.
mstarzinger [Tue, 18 Aug 2015 16:41:02 +0000 (09:41 -0700)]
Add presubmit check for header inclusion violation.

This warns about include directives of inline headers within normal
header files. Note that this warning should not close the tree or
prevent the CQ from landing the patch.

R=jkummerow@chromium.org

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

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

8 years agoMake heap.h usable without objects-inl.h header.
mstarzinger [Tue, 18 Aug 2015 16:21:31 +0000 (09:21 -0700)]
Make heap.h usable without objects-inl.h header.

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

R=mlippautz@chromium.org

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

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

8 years ago[Interpreter] Add implementations for load immediate bytecodes.
rmcilroy [Tue, 18 Aug 2015 15:29:21 +0000 (08:29 -0700)]
[Interpreter] Add implementations for load immediate bytecodes.

Adds implementations and tests for the following bytecodes:
  - LdaZero
  - LdaSmi8
  - LdaUndefined
  - LdaNull
  - LdaTheHole
  - LdaTrue
  - LdaFalse
  - LdaLdar
  - LdaStar

Also adds  Smi tagging / untagging and OperandType typed
BytecodeOperand operations to InterpreterAssembler.

BUG=v8:4280
LOG=N

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

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

8 years agoAllowing optional build of a WASM prototype behind a gyp define.
bradnelson [Tue, 18 Aug 2015 15:04:02 +0000 (08:04 -0700)]
Allowing optional build of a WASM prototype behind a gyp define.

Place a copy of the v8-native-prototype in third_party/wasm.
GYP_DEFINES='v8_wasm=1' gclient runhooks

BUG=None
TEST=None
R=titzer@chromium.org
LOG=N

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

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

8 years ago[turbofan] Unify referencing of stack slots
danno [Tue, 18 Aug 2015 14:47:56 +0000 (07:47 -0700)]
[turbofan] Unify referencing of stack slots

Previously, it was not possible to specify StackSlotOperands for all
slots in both the caller and callee stacks. Specifically, the region
of the callee's stack including the saved return address, frame
pointer, function pointer and context pointer could not be addressed
by the register allocator/gap resolver.

In preparation for better tail call support, which will use the gap
resolver to reconcile outgoing parameters, this change makes it
possible to address all slots on the stack, because slots in the
previously inaccessible dead zone may become parameter slots for
outgoing tail calls. All caller stack slots are accessible as they
were before, with slot -1 corresponding to the last stack
parameter. Stack slot indices >= 0 access the callee stack, with slot
0 corresponding to the callee's saved return address, 1 corresponding
to the saved frame pointer, 2 corresponding to the current function
context, 3 corresponding to the frame marker/JSFunction, and slots 4
and above corresponding to spill slots.

The following changes were specifically needed:

* Frame has been changed to explicitly manage three areas of the
  callee frame, the fixed header, the spill slot area, and the
  callee-saved register area.
* Conversions from stack slot indices to fp offsets all now go through
  a common bottleneck: OptimizedFrame::StackSlotOffsetRelativeToFp
* The generation of deoptimization translation tables has been changed
  to support the new stack slot indexing scheme. Crankshaft, which
  doesn't support the new slot numbering in its register allocator,
  must adapt the indexes when creating translation tables.
* Callee-saved parameters are now kept below spill slots, not above,
  to support saving only the optimal set of used registers, which is
  only known after register allocation is finished and spill slots
  have been allocated.

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

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

8 years agoSkip regress-4279 for --isolates tests.
yangguo [Tue, 18 Aug 2015 14:35:59 +0000 (07:35 -0700)]
Skip regress-4279 for --isolates tests.

R=hablich@chromium.org
BUG=v8:4378
LOG=N

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

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

8 years agoRemove inline header includes from natives.h header.
mstarzinger [Tue, 18 Aug 2015 14:31:26 +0000 (07:31 -0700)]
Remove inline header includes from natives.h header.

R=yangguo@chromium.org

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

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

8 years ago[Interpreter] Minimal bytecode generator.
oth [Tue, 18 Aug 2015 13:46:43 +0000 (06:46 -0700)]
[Interpreter] Minimal bytecode generator.

Bytecode generator for local assignment and basic binary operations.

Command-line flag for printing bytecodes.

BUG=v8:4280
LOG=N

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

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

8 years agoNative context: Fix issue when running prologue.js before runtime.js
yangguo [Tue, 18 Aug 2015 13:08:05 +0000 (06:08 -0700)]
Native context: Fix issue when running prologue.js before runtime.js

%InstallFunctionsFromArray is not entirely equivalent to the old
InstallFunctions implementation, which causes gc stress failures.

TBR=mvstanton@chromium.org

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

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

8 years ago[interpreter]: Changes to interpreter builtins for accumulator and register file...
rmcilroy [Tue, 18 Aug 2015 12:41:41 +0000 (05:41 -0700)]
[interpreter]: Changes to interpreter builtins for accumulator and register file registers.

Makes the following modifications to the interpreter builtins and
InterpreterAssembler:
 - Adds an accumulator register and initializes it to undefined()
 - Adds a register file pointer register and use it instead of FramePointer to
   access registers
 - Modifies builtin to support functions with 0 regiters in the register file
 - Modifies builtin to Call rather than TailCall to first bytecode handler.

BUG=v8:4280
LOG=N

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

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

8 years ago[api,heap] Fix external GC callbacks.
mlippautz [Tue, 18 Aug 2015 12:03:45 +0000 (05:03 -0700)]
[api,heap] Fix external GC callbacks.

* Add types to properly report what has been executed in the GC
* Unify GCPrologueCallback and GCEpilogueCallback into GCCallback
* Report processing of second round weak handels, either synchronously or asynchronously

BUG=chromium:521946
LOG=N

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

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

8 years agoNative context: run prologue.js before runtime.js
yangguo [Tue, 18 Aug 2015 11:15:34 +0000 (04:15 -0700)]
Native context: run prologue.js before runtime.js

R=mvstanton@chromium.org

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

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

8 years agoSkip regress-crbug-501711 for --isolates tests.
yangguo [Tue, 18 Aug 2015 11:14:26 +0000 (04:14 -0700)]
Skip regress-crbug-501711 for --isolates tests.

TBR=hablich@chromium.org
BUG=v8:4378
LOG=N

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

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