Commit Graph

32424 Commits

Author SHA1 Message Date
cbruni
55f903500a [runtime] enable fast key accumulator by default
BUG=

Review-Url: https://codereview.chromium.org/2162393002
Cr-Commit-Position: refs/heads/master@{#37932}
2016-07-21 09:23:54 +00:00
rmcilroy
6b5949a8a0 [Interpreter] Avoid accessing on-heap literal in VisitLiteral.
Move VisitLiteral to decide what type of literal is being emitted by
checking the raw ASTValue type, instead of the internalized on-heap
value. This is required for concurrent bytecode generation.

As part of this change, the NUMBER AstValue constructor is modified to
try to convert numbers without a dot to SMIs where possible. This is to
maintain the behavior in NewNumber where such numbers are internalized as
SMIs, and ensures that we still emit LdaSmi bytecodes for these values
in the generated bytecode.

BUG=v8:5203

Review-Url: https://codereview.chromium.org/2152853002
Cr-Commit-Position: refs/heads/master@{#37931}
2016-07-21 09:20:19 +00:00
mstarzinger
57981a48bd [interpreter] Remove duped control scope in ForOfStatement.
This removes a duplicate control scope. The visitor for ForOfStatement
nodes in the AST uses VisitIterationBody which pushes a separate control
scope. The number of control scopes will be off when we use them for
tracking loop depths.

R=rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2164503005
Cr-Commit-Position: refs/heads/master@{#37930}
2016-07-21 09:13:44 +00:00
ahaas
66cb026f4a Reland of [builtins] Introduce a builtin for Abort().
Original message:

Calling Runtime::kAbort through a builtin instead of the c-entry stub
will allow to generate the call in a background thread, because a
builtin provides its own handle, whereas a code stub does not.

@v8-mips-ports: Could you take a special look at the padding that is
done in MacroAssembler::Abort()?

Reason for revert:
The reason for reverting is: Blocks roll:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622

The problem was that on arm64 the builtin for Abort() contained a call to
Abort(). The problem is fixed by using a NoUseRealAbortsScope in the
code generation of Abort().

R=titzer@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

Review-Url: https://codereview.chromium.org/2163263002
Cr-Commit-Position: refs/heads/master@{#37929}
2016-07-21 09:13:43 +00:00
bmeurer
2744fcbb6c [turbofan] Eliminate unused effectful nodes during representation selection.
We can actually eliminate certain effectful operations like loads and
speculative number operations during representation selection if we
discover that their value outputs are unused (we also propagate this
information through pure operations as well, so that we remove the
maximum number of effectful nodes possible).

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2168023002
Cr-Commit-Position: refs/heads/master@{#37928}
2016-07-21 09:10:08 +00:00
jgruber
c4ef8a8d6e Revert of Remove stack overflow boilerplate (patchset #3 id:40001 of https://codereview.chromium.org/2161953003/ )
Reason for revert:
Clusterfuzz failures in parent CL https://codereview.chromium.org/2142933003/

Original issue's description:
> Remove stack overflow boilerplate
>
> We no longer need to prepare the stack overflow error in advance now that
> Errors are constructed in C++.
>
> R=yangguo@chromium.org
> BUG=
>
> Committed: https://crrev.com/ba95d10ccbe13e2fca427228483b045576f2dc4c
> Cr-Commit-Position: refs/heads/master@{#37923}

TBR=yangguo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.chromium.org/2169563003
Cr-Commit-Position: refs/heads/master@{#37927}
2016-07-21 09:10:07 +00:00
dpranke
3536db45c9 Fix double-building of v8 in GN builds when setting just v8_target_cpu.
Because of the somewhat strange way default toolchains and custom
toolchains and user-specified arguments work in GN, if you did a v8
build that just set v8_target_cpu, you could end up building two
identical copies of v8 (see the comments in the change for more).

This CL identifies that case and fixes it.

R=machenbach@chromium.org
BUG=629825

Review-Url: https://codereview.chromium.org/2166173002
Cr-Commit-Position: refs/heads/master@{#37926}
2016-07-21 09:06:42 +00:00
machenbach
714b95f0ff Revert of [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode (patchset #3 id:80001 of https://codereview.chromium.org/2156753002/ )
Reason for revert:
Breaks tsan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10758

Original issue's description:
> [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode
>
> Always use the BytecodeGraphBuilder when the  --turbo-from-bytecode
> is enabled, assuming the function should be compiled for Ignition.
> Adds a new MaybeOptimizeIgnition function to runtime-profiler
> which is called if the function should be optimized from bytecode
> rather than going via full-codegen.
>
> BUG=v8:4280
>
> Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4
> Cr-Commit-Position: refs/heads/master@{#37921}

TBR=mstarzinger@chromium.org,rmcilroy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2165223002
Cr-Commit-Position: refs/heads/master@{#37925}
2016-07-21 08:43:28 +00:00
jochen
3138862703 Enable v8 backtrace support in all debug builds
R=machenbach@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2167723004
Cr-Commit-Position: refs/heads/master@{#37924}
2016-07-21 08:27:00 +00:00
jgruber
ba95d10ccb Remove stack overflow boilerplate
We no longer need to prepare the stack overflow error in advance now that
Errors are constructed in C++.

R=yangguo@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2161953003
Cr-Commit-Position: refs/heads/master@{#37923}
2016-07-21 08:17:04 +00:00
yangguo
5dbed74448 Remove some obsolete flags.
R=franzih@chromium.org

Review-Url: https://codereview.chromium.org/2157363005
Cr-Commit-Position: refs/heads/master@{#37922}
2016-07-21 08:00:35 +00:00
rmcilroy
9ca7db914b [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode
Always use the BytecodeGraphBuilder when the  --turbo-from-bytecode
is enabled, assuming the function should be compiled for Ignition.
Adds a new MaybeOptimizeIgnition function to runtime-profiler
which is called if the function should be optimized from bytecode
rather than going via full-codegen.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2156753002
Cr-Commit-Position: refs/heads/master@{#37921}
2016-07-21 07:50:29 +00:00
marja
c1da025b03 Fix r37816: SloppyBlockFunctionStatement needs to go to parser_zone_.
Putting SloppyBlockFunctionStatement into local_zone_ was too early. It
needs to go into parser_zone_ because Scope refers to it. It will be
moved back to local_zone_ when we can put Scopes into temporary Zones.

A test (to demonstrate we crash without this CL) will follow in a separate CL.

R=verwaest@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2170813002
Cr-Commit-Position: refs/heads/master@{#37920}
2016-07-21 07:27:34 +00:00
bmeurer
f793cb1fc3 [runtime] %TransitionElementsKind works for any kind of JSObject.
The optimizing compilers actually invoke %TransitionElementsKind for
any kind of JSObject, the only relevant thing is the elements kind.
The runtime function was however checking for JSArray unnecessarily.
This only worked by coincindence in Crankshaft because the stub would
normally not call into the runtime fallback.

R=jarin@chromium.org
BUG=chromium:629823

Review-Url: https://codereview.chromium.org/2166963004
Cr-Commit-Position: refs/heads/master@{#37919}
2016-07-21 07:23:58 +00:00
marja
442801dd0c DiscardableZoneScope fix. It was an unintentional noop.
BUG=

Review-Url: https://codereview.chromium.org/2166633003
Cr-Commit-Position: refs/heads/master@{#37918}
2016-07-21 07:10:38 +00:00
v8-autoroll
db2763cf7d Update V8 DEPS.
Rolling v8/base/trace_event/common to 315bf1e2d45be7d53346c31cfcc37424a32c30c8

Rolling v8/build to 47d75963ee42a9b9688e4f85c097b3a15d4f2bb2

Rolling v8/buildtools to 60f7f9a8b421ebf9a46041dfa2ff11c0fe59c582

Rolling v8/tools/mb to 1815b6867db701b1bba1c223e4f67811196122ea

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2168733003
Cr-Commit-Position: refs/heads/master@{#37917}
2016-07-21 06:50:35 +00:00
yangguo
ad4eb051e7 [debugger] use absolute source positions for break locations.
There is simply no point in converting between relative and absolute source
positions in both C++ and Javascript code.

R=jgruber@chromium.org

Review-Url: https://codereview.chromium.org/2169463002
Cr-Commit-Position: refs/heads/master@{#37916}
2016-07-21 06:30:40 +00:00
bbudge
8730875b2b [Turbofan] Fix GapResolver tests.
Fixes bug in test-gap-resolver.cc that didn't test different move reps.
Fixes test canonicalization so all slots have the same type (non-float).
Improve test failure text output.

LOG=N
BUG=v8:5187

Review-Url: https://codereview.chromium.org/2169493002
Cr-Commit-Position: refs/heads/master@{#37915}
2016-07-20 19:09:51 +00:00
adamk
f1cf71aa4d Simplify and correct logic in CallSite::GetMethodName
SharedFunctionInfo::name is always a String if present (never a Symbol),
so there's no need to first test it for IsName() before testing IsString().
This is enforced by a check in %FunctionSetName.

As a bonus, the code no longer looks invalid (unconditionally casting
a Name to a String). The logic came into this broken-looking state
accidentally in the flag cleanup CL https://codereview.chromium.org/2096933002/.

Review-Url: https://codereview.chromium.org/2162853003
Cr-Commit-Position: refs/heads/master@{#37914}
2016-07-20 18:13:49 +00:00
mattloring
dbba4b40be Custom objdump to enable perf annotation
Allows jitted code to be annotated in perf. To use:

1) Report generated code in code-(pid)-1.asm.

  perf record -- d8 --print-code --redirect-code-traces script.js

2) Run perf report from the directory containing the above code file.

  perf report --objdump=v8/tools/objdump-v8

This script supports generated code from both crankshaft or turbofan.

BUG=

Review-Url: https://codereview.chromium.org/2167553002
Cr-Commit-Position: refs/heads/master@{#37913}
2016-07-20 16:59:24 +00:00
verwaest
2ca608041b Split NewScope into NewScope and NewScopeWithParent
NewScope automatically uses scope(), whereas NewScopeWithParent can pass along any local Scope* as outer scope. The number of calls to NewScopeWithParent should be reduced over time.

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2164943002
Cr-Commit-Position: refs/heads/master@{#37912}
2016-07-20 14:43:42 +00:00
ahaas
6627d81c68 [wasm] Use a C wrapper function to calculate F64Pow.
This CL more or less reverts commit https://codereview.chromium.org/2107733002/
The use of the MathPow code stub that was introduced by that commit caused
problems on arm64, and the MathPow code stub was also an obstacle in the
implementation of parallel code generation.

In addition this CL turns on the mjsunit/wasm/embenchen tests for arm64
which were turned off because of problems with MathPow on arm64.

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

Review-Url: https://codereview.chromium.org/2166793002
Cr-Commit-Position: refs/heads/master@{#37911}
2016-07-20 14:27:06 +00:00
ishell
7da34f8acb [ic] Fix megamorphic stub cache probing on some platforms.
This CL fixes weird performance implications when changing layout of Code::flags field:
it happened that the unused ICStateField with MONOMORPHIC value in the handlers' flags
was accidentally offsetting the underflow bug in stub cache probing code on arm, arm64,
mips and mips64.

Stub cache tests now work even when snapshot is enabled.

Drive-by-change: Fixed counters manipulation on arm64 and mips64.

BUG=chromium:618701

Review-Url: https://codereview.chromium.org/2161153002
Cr-Commit-Position: refs/heads/master@{#37910}
2016-07-20 14:19:39 +00:00
jgruber
95708d1458 Move CompileString to Compiler
R=yangguo@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2163933002
Cr-Commit-Position: refs/heads/master@{#37909}
2016-07-20 13:33:57 +00:00
jgruber
9211dee01a Move Error methods to C++
This ports a large portion of Error methods to C++,
including the constructor, stack setter and getter,
and Error.prototype.toString.

BUG=

Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31
Review-Url: https://codereview.chromium.org/2142933003
Cr-Original-Commit-Position: refs/heads/master@{#37870}
Cr-Commit-Position: refs/heads/master@{#37908}
2016-07-20 13:05:47 +00:00
verwaest
d6a38645ef Introduce NewScriptScope that creates a top-level scope
It's the only Scope type that has outer scope nullptr; and it always has outer scope nullptr.

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2158913005
Cr-Commit-Position: refs/heads/master@{#37907}
2016-07-20 12:55:59 +00:00
jochen
04ba79eb72 Create compiler-scheduler subdir and move existing scheduler there
BUG=v8:5215
R=marja@chromium.org

Review-Url: https://codereview.chromium.org/2161033003
Cr-Commit-Position: refs/heads/master@{#37906}
2016-07-20 12:55:58 +00:00
jochen
0ae0fbce8b Don't hide V8 symbols in debug builds
That way, backtraces should work

BUG=
R=machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2168593002
Cr-Commit-Position: refs/heads/master@{#37905}
2016-07-20 12:55:57 +00:00
klaasb
5f603e838a [interpreter] Inline Star on dispatch for some bytecodes
For some bytecodes it is beneficial to always look for a Star
bytecode when dispatching to the next and inline perform it
without dispatching to the Star handler.

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2142273003
Cr-Commit-Position: refs/heads/master@{#37904}
2016-07-20 12:52:20 +00:00
machenbach
3449dbc010 [cq] Make chromium win trybot experimental
BUG=chromium:629025
NOTRY=true
NOPRESUBMIT=true
TBR=sergiyb@chromium.org

Review-Url: https://codereview.chromium.org/2165883003
Cr-Commit-Position: refs/heads/master@{#37903}
2016-07-20 12:19:52 +00:00
verwaest
13cbf54522 Inline Scope::Initialize into the only constructor that's always called right before
This additionally makes the invariant obvious that outer_scope==nullptr+is_with_scope is impossible.

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2165923002
Cr-Commit-Position: refs/heads/master@{#37902}
2016-07-20 12:19:51 +00:00
jochen
a76d133f76 Fix incorrect parameter to HasSufficientCapacity
It takes the number of additional elements, not the total target
capacity.

Also, avoid right-shifting a negative integer as this is undefined in general

BUG=v8:4909
R=verwaest@chromium.org

Review-Url: https://codereview.chromium.org/2162333002
Cr-Commit-Position: refs/heads/master@{#37901}
2016-07-20 12:16:30 +00:00
mstarzinger
99d1e5dccf [turbofan] Remove obsolete --turbo-shipping flag.
By now TurboFan is shipping on a broad range of language constructs and
wholesale disabling TurboFan can still be done with the --turbo-filter
flag. A dedicated flag controlling AST numbering heuristics is no longer
needed.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2155243006
Cr-Commit-Position: refs/heads/master@{#37900}
2016-07-20 10:38:19 +00:00
bmeurer
52a66bf1a8 Revert of [turbofan] Introduce TruncateTaggedToBit operator for ToBoolean truncation. (patchset #2 id:20001 of https://codereview.chromium.org/2167593002/ )
Reason for revert:
Breaks arm64 gc stress:
https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/1605

Original issue's description:
> [turbofan] Introduce TruncateTaggedToBit operator for ToBoolean truncation.
>
> Add a dedicated simplified operator to inline the general case for the
> ToBoolean conversion. In a follow up CL we will also use the ToBoolean
> hints gathered by the baseline compiler.
>
> Committed: https://crrev.com/8c50b51ab3d21efcd2f6900d83962159f21e1590
> Cr-Commit-Position: refs/heads/master@{#37882}

TBR=jarin@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2170433002
Cr-Commit-Position: refs/heads/master@{#37899}
2016-07-20 10:18:46 +00:00
verwaest
90015a1fe0 Implicitly pass 'scope()' as parent scope for function scopes
This creates the guarantee that we can compute the parent scope later on. We'll do the same for other types of scopes as well (with perhaps a limited number of exceptions that will need to be eagerly allocated).

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2168563002
Cr-Commit-Position: refs/heads/master@{#37898}
2016-07-20 09:39:11 +00:00
neis
f2c2ef1f0e Make toLocaleString on arrays always call toLocaleString on its elements.
As required by the spec.

This is a variant of what I reverted in f47e722403.
It will probably still cause a regression but now it's easier to migrate (parts of)
the current implementation to C++, which is expected to make things faster again.

BUG=chromium:627729,v8:5113

Review-Url: https://codereview.chromium.org/2164923002
Cr-Commit-Position: refs/heads/master@{#37897}
2016-07-20 09:32:20 +00:00
machenbach
d02290ceb9 [gn] Properly qualify variable names that escape v8 context
This prepares for relanding:
https://codereview.chromium.org/2058033002/

All toplevel variables are visible in files including v8.gni.
This works around potential name clashes.

BUG=chromium:616034

Review-Url: https://codereview.chromium.org/2169443002
Cr-Commit-Position: refs/heads/master@{#37896}
2016-07-20 09:18:58 +00:00
jacob.bramley
6ae7f2b5d8 [arm64] Avoid signed arithmetic in AddWithCarry.
This avoids implementation-defined signed overflow in the simulator's
AddWithCarry implementation. The implementation of AddWithCarry now uses
unsigned arithmetic exclusively.

Testing coverage is also significantly improved.

BUG=

Review-Url: https://codereview.chromium.org/2157283003
Cr-Commit-Position: refs/heads/master@{#37895}
2016-07-20 09:15:35 +00:00
verwaest
f52263ece7 Make the Scope constructors less reliant on SetDefaults to magically set flags
BUG=v8:5209

Review-Url: https://codereview.chromium.org/2158393002
Cr-Commit-Position: refs/heads/master@{#37894}
2016-07-20 09:02:27 +00:00
marja
1e08974e86 Fix: Don't use Isolate during scope resolution.
Using Isolate is unsafe, because we might parse (and do scope analysis)
on a background thread.

The illegal access happens when encountering f(arguments) { ... }.

Kudos to verwaest@ for finding this bug.

R=verwaest@chromium.org, rossberg@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2158343002
Cr-Commit-Position: refs/heads/master@{#37893}
2016-07-20 08:58:53 +00:00
yangguo
ff542972f6 [debugger] remove deprecated api functions.
Review-Url: https://codereview.chromium.org/2162503002
Cr-Commit-Position: refs/heads/master@{#37892}
2016-07-20 08:52:18 +00:00
bmeurer
1f3c8dc71f [turbofan] Properly handle bit->tagged representation changes.
Look at the output type instead of the output representation,
when converting to tagged representation.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2159373004
Cr-Commit-Position: refs/heads/master@{#37891}
2016-07-20 08:52:17 +00:00
jarin
1906e88d3b [turbofan] In the feedback refinement retyper, always intersect the upper bound with the type.
BUG=chromium:608617

Review-Url: https://codereview.chromium.org/2163173002
Cr-Commit-Position: refs/heads/master@{#37890}
2016-07-20 08:48:56 +00:00
mstarzinger
2484254907 [ast] Make Toon Verwaest an AST owner.
R=adamk@chromium.org,bmeurer@chromium.org,littledan@chromium.org,rossberg@chromium.org

Review-Url: https://codereview.chromium.org/2156083002
Cr-Commit-Position: refs/heads/master@{#37889}
2016-07-20 08:48:55 +00:00
zhengxing.li
870fac08c9 X87: Revert of [builtins] Introduce a builtin for Abort(). (patchset #5 id:80001 of https://codereview.chromium.org/2156923002/ ).
port 3e8f49ab59 (r37883)

  original commit message:
  Reason for revert:
  Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622

  Original issue's description:
  > [builtins] Introduce a builtin for Abort().
  >
  > Calling Runtime::kAbort through a builtin instead of the c-entry stub
  > will allow to generate the call in a background thread, because a
  > builtin provides its own handle, whereas a code stub does not.
  >
  > @v8-mips-ports: Could you take a special look at the padding that is
  > done in MacroAssembler::Abort()?
  >
  > R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com
  >
  > Committed: https://crrev.com/9be015a254cfff871c56cd129523a729637e9158
  > Cr-Commit-Position: refs/heads/master@{#37854}

BUG=

Review-Url: https://codereview.chromium.org/2168573002
Cr-Commit-Position: refs/heads/master@{#37888}
2016-07-20 08:34:46 +00:00
verwaest
e8e09ca725 Remove ast_value_factory_ and usages from scope
This frees up a field in Scope and untangles scope a little from the parser.

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2160943004
Cr-Commit-Position: refs/heads/master@{#37887}
2016-07-20 08:08:39 +00:00
oth
ac69e74fbf [stubs] Suppress shift by zero.
LOG=N
BUG=

Review-Url: https://codereview.chromium.org/2157363003
Cr-Commit-Position: refs/heads/master@{#37886}
2016-07-20 08:08:38 +00:00
jgruber
d4ad10b30f [builtins] Move builtins into own files
R=yangguo@chromium.org
BUG=v8:5197

Review-Url: https://codereview.chromium.org/2165593002
Cr-Commit-Position: refs/heads/master@{#37885}
2016-07-20 07:38:45 +00:00
nikolaos
6ce36869bc [parser] Add default constructor for PreParserExpression
In a few places in the parser base, we were forced to initialize
variables of type ExpressionT even if it's not necessary, as they
are assigned to later on before their use.  This was required
because, for the case of the preparser, ExpressionT is
PreParserExpression which had no default constructor.

This patch adds a default constructor, equivalent to EmptyExpression
for this class, and gets rid of the unnecessary initializations.

R=adamk@chromium.org, littledan@chromium.org
BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2162763003
Cr-Commit-Position: refs/heads/master@{#37884}
2016-07-20 07:35:22 +00:00
hablich
3e8f49ab59 Revert of [builtins] Introduce a builtin for Abort(). (patchset #5 id:80001 of https://codereview.chromium.org/2156923002/ )
Reason for revert:
Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622

Original issue's description:
> [builtins] Introduce a builtin for Abort().
>
> Calling Runtime::kAbort through a builtin instead of the c-entry stub
> will allow to generate the call in a background thread, because a
> builtin provides its own handle, whereas a code stub does not.
>
> @v8-mips-ports: Could you take a special look at the padding that is
> done in MacroAssembler::Abort()?
>
> R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com
>
> Committed: https://crrev.com/9be015a254cfff871c56cd129523a729637e9158
> Cr-Commit-Position: refs/heads/master@{#37854}

TBR=bmeurer@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,v8-arm-ports@googlegroups.com,v8-mips-ports@googlegroups.com,akos.palfi@imgtec.com,ahaas@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2163603003
Cr-Commit-Position: refs/heads/master@{#37883}
2016-07-20 07:25:18 +00:00