johan [Mon, 23 Mar 2015 06:56:53 +0000 (23:56 -0700)]
MAP_NORESERVE was never implemented in FreeBSD as has been retired
as of https://reviews.freebsd.org/D848. This makes V8 build on
FreeBSD-current (and the forthcoming 11).
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
1025823003
Cr-Commit-Position: refs/heads/master@{#27348}
akos.palfi [Fri, 20 Mar 2015 17:07:29 +0000 (10:07 -0700)]
MIPS: Fix 'MIPS: [es6] implement Reflect.apply() & Reflect.construct()'
Port
d21fd15467e16f185e511dbfbaeef7caddfe804a
TEST=mjsunit/harmony/reflect-construct
BUG=
Review URL: https://codereview.chromium.org/
1022053002
Cr-Commit-Position: refs/heads/master@{#27347}
Toon Verwaest [Fri, 20 Mar 2015 16:42:51 +0000 (17:42 +0100)]
Ensure we don't overflow in BCE
BUG=chromium:469148
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1023123003
Cr-Commit-Position: refs/heads/master@{#27346}
ishell [Fri, 20 Mar 2015 16:07:02 +0000 (09:07 -0700)]
Revert of Allow compaction when incremental marking is on. (patchset #1 id:1 of https://codereview.chromium.org/
1014263002/)
Reason for revert:
It seems to cause crbug/469146.
Original issue's description:
> Allow compaction when incremental marking is on.
>
> BUG=chromium:450824
> LOG=NO
>
> Committed: https://crrev.com/
92f96e4e9a527fcb085b68f81ee14b26acdd4719
> Cr-Commit-Position: refs/heads/master@{#27267}
TBR=hpayer@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:450824
Review URL: https://codereview.chromium.org/
1026813002
Cr-Commit-Position: refs/heads/master@{#27345}
caitpotter88 [Fri, 20 Mar 2015 14:07:07 +0000 (07:07 -0700)]
[es6] generate rest parameters correctly for subclass constructors
BUG=v8:3977
R=dslomov@chromium.org, arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
1018043003
Cr-Commit-Position: refs/heads/master@{#27344}
balazs.kilvady [Fri, 20 Mar 2015 14:05:26 +0000 (07:05 -0700)]
MIPS: [turbofan] Turn Math.clz32 into an inlinable builtin.
Port
3aa206b86560da94f895625186295bf07a0301d8
BUG=v8:3952
LOG=n
Review URL: https://codereview.chromium.org/
1020223002
Cr-Commit-Position: refs/heads/master@{#27343}
chunyang.dai [Fri, 20 Mar 2015 13:45:00 +0000 (06:45 -0700)]
X87: [turbofan] Implement throwing exceptions into TurboFan code.
port
1382879f29bd71c36aeda2421e867c4cdd232a0d (r27016).
oringinal commit message:
[turbofan] Implement throwing exceptions into TurboFan code.
This extends the stack unwinding logic to respect optimized frames
and perform a lookup in the handler table to find handlers. It also
contains fixes to the API call stubs to allow a stack walk while
promoting scheduled exceptions.
BUG=
Review URL: https://codereview.chromium.org/
1023943002
Cr-Commit-Position: refs/heads/master@{#27342}
bmeurer [Fri, 20 Mar 2015 12:05:06 +0000 (05:05 -0700)]
[turbofan] Fix lowering of Math.max for integral inputs.
R=jarin@chromium.org
BUG=chromium:468162
LOG=y
Review URL: https://codereview.chromium.org/
1027753002
Cr-Commit-Position: refs/heads/master@{#27341}
yangguo [Fri, 20 Mar 2015 11:17:09 +0000 (04:17 -0700)]
Serializer: cache hashmaps on the isolate.
This speeds up multiple uses of the serializer quite a bit.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1003363003
Cr-Commit-Position: refs/heads/master@{#27340}
rossberg [Fri, 20 Mar 2015 11:03:05 +0000 (04:03 -0700)]
[harmony] Move some regression tests to the right place
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1027693003
Cr-Commit-Position: refs/heads/master@{#27339}
rossberg [Fri, 20 Mar 2015 10:50:06 +0000 (03:50 -0700)]
[strong] Less pleading error messages
R=dslomov@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1021213002
Cr-Commit-Position: refs/heads/master@{#27338}
dslomov [Fri, 20 Mar 2015 10:43:32 +0000 (03:43 -0700)]
Remove harmony-strings flag.
String functions are shipping since 4.1/Chrome M41, it is time to unflag.
R=yanngguo@chromium.org,rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1024813002
Cr-Commit-Position: refs/heads/master@{#27337}
bmeurer [Fri, 20 Mar 2015 10:23:35 +0000 (03:23 -0700)]
[turbofan] More inlinable Math builtins.
Turn Math.acos, Math.asin, Math.atan, Math.atan2, Math.sign and Math.trunc
into inlinable builtins.
R=yangguo@chromium.org
BUG=v8:3952
LOG=n
Review URL: https://codereview.chromium.org/
1027713002
Cr-Commit-Position: refs/heads/master@{#27336}
jochen [Fri, 20 Mar 2015 10:17:31 +0000 (03:17 -0700)]
Don't DCHECK that the weak closure wasn't yet overapproximated
Maybe it was overapproximated via the idle notification already, so just
don't retry in that case
BUG=chromium:469023
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1025603003
Cr-Commit-Position: refs/heads/master@{#27335}
ulan [Fri, 20 Mar 2015 09:52:17 +0000 (02:52 -0700)]
Check for GC interrupt in JSON parser.
BUG=v8:3974
LOG=NO
Review URL: https://codereview.chromium.org/
1021523002
Cr-Commit-Position: refs/heads/master@{#27334}
bmeurer [Fri, 20 Mar 2015 09:45:07 +0000 (02:45 -0700)]
[turbofan] Work-around untagged result of CompareIC in pointer maps.
BUG=chromium:469089
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1026683002
Cr-Commit-Position: refs/heads/master@{#27333}
chunyang.dai [Fri, 20 Mar 2015 09:35:41 +0000 (02:35 -0700)]
X87: Fix exception for assignment to uninitialised const.
port
2ecdf736cf0409b52832f78a4439ace855d6739b (r27014).
original commit message:
Fix exception for assignment to uninitialised const.
BUG=
Review URL: https://codereview.chromium.org/
1028533002
Cr-Commit-Position: refs/heads/master@{#27332}
jarin [Fri, 20 Mar 2015 09:12:42 +0000 (02:12 -0700)]
[turbofan] Add explicit set for nodes with weakened types.
To ensure termination, we need to be sure that once we start weakening
a node, we keep weakening that node in subsequent re-typings. Until now,
we were guessing that we previously weakened from the type. This
change introduces a set of nodes that have already be weakened, so
that we have a reliable way to detect previous weakening.
BUG=chromium:468799
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1019883002
Cr-Commit-Position: refs/heads/master@{#27331}
Benedikt Meurer [Fri, 20 Mar 2015 08:40:34 +0000 (09:40 +0100)]
[turbofan] Improve typing for string::length property.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1028563002
Cr-Commit-Position: refs/heads/master@{#27330}
Benedikt Meurer [Fri, 20 Mar 2015 08:37:20 +0000 (09:37 +0100)]
[turbofan] Turn Math.clz32 into an inlinable builtin.
R=dcarney@chromium.org, yangguo@chromium.org
BUG=v8:3952
LOG=n
Review URL: https://codereview.chromium.org/
1021183002
Cr-Commit-Position: refs/heads/master@{#27329}
Benedikt Meurer [Fri, 20 Mar 2015 08:26:31 +0000 (09:26 +0100)]
[turbofan] Fix unit test coverage for JSIntrinsicLowering.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
1028553002
Cr-Commit-Position: refs/heads/master@{#27328}
v8-autoroll [Fri, 20 Mar 2015 03:34:49 +0000 (20:34 -0700)]
Update V8 DEPS.
Rolling v8/third_party/icu to
d319ad9e25e8045f051dcd30bd5835f99936af6c
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1021953002
Cr-Commit-Position: refs/heads/master@{#27327}
akos.palfi [Fri, 20 Mar 2015 00:34:33 +0000 (17:34 -0700)]
MIPS: [es6] implement Reflect.apply() & Reflect.construct()
Port
d21fd15467e16f185e511dbfbaeef7caddfe804a
Known issue: the mjsunit/harmony/reflect-construct test fails, it will be addressed in a follow-up CL.
BUG=
Review URL: https://codereview.chromium.org/
1021863002
Cr-Commit-Position: refs/heads/master@{#27326}
aperez [Fri, 20 Mar 2015 00:17:41 +0000 (17:17 -0700)]
Parser: Fix crash on stack overflow when lazy-parsing arrow functions
The problem manifests itself when parsing manages to return something
meaningful in the presence of a stack overflow. This happens because
calling ParserBase::Next() will still return one valid token on stack
overflow, before starting to return invalid tokens.
Take the following input as example:
a.map(v => v + 1);
| |
already next token
parsed (which will be an invalid token
(identifier) because of a stack overflow)
The "v" may have been already parsed into a VariableProxy, then if a
stack overflow occurs, next token will be an invalid token (instead
of Token::ARROW), but the parser will return the VariableProxy.
This always happens when lazy-parsing arrow functions, so the position
in the input stream where the the arrow function code ends is known.
This fix adds a check that ensures that parsing ended at the end
position of the arrow function.
BUG=465671
LOG=N
Review URL: https://codereview.chromium.org/
1023483003
Cr-Commit-Position: refs/heads/master@{#27325}
verwaest [Thu, 19 Mar 2015 23:54:04 +0000 (16:54 -0700)]
Cannot use Handle<T>::cast in Unique<T>::cast since it will try to do a T::cast (and its typecheck) concurrently, which is unsafe concurrently on moving values
BUG=
Review URL: https://codereview.chromium.org/
1022943002
Cr-Commit-Position: refs/heads/master@{#27324}
hpayer [Thu, 19 Mar 2015 22:03:18 +0000 (15:03 -0700)]
Revert "Merge old data and pointer space."
TBR=verwaest@chromium.org,ulan@chromium.org,ishell@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1027463002
Cr-Commit-Position: refs/heads/master@{#27323}
ulan [Thu, 19 Mar 2015 19:42:09 +0000 (12:42 -0700)]
[turbofan] Emit constant pool before blocking it in AssembleArchTableSwitch.
BUG=chromium:468749
LOG=NO
TEST=Emscripten/NBodyJava
Review URL: https://codereview.chromium.org/
1014093005
Cr-Commit-Position: refs/heads/master@{#27322}
hpayer [Thu, 19 Mar 2015 19:41:02 +0000 (12:41 -0700)]
Rename kMaxFrameRenderingIdleTime to kMaxActiveIdleTime and adjust it to the currently maximum value of 50ms passed in by the Blink scheduler.
BUG=468692
LOG=n
Review URL: https://codereview.chromium.org/
1024543002
Cr-Commit-Position: refs/heads/master@{#27321}
rossberg [Thu, 19 Mar 2015 19:39:53 +0000 (12:39 -0700)]
[strong] Check constructor returns
R=dslomov@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1019283002
Cr-Commit-Position: refs/heads/master@{#27320}
titzer [Thu, 19 Mar 2015 15:44:29 +0000 (08:44 -0700)]
[turbofan] Remove last_use_ field from Node.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1022783002
Cr-Commit-Position: refs/heads/master@{#27319}
jochen [Thu, 19 Mar 2015 15:43:22 +0000 (08:43 -0700)]
Use libdl to get symbols for backtraces
With this patch, it'll look like this:
$ out/x64.optdebug/d8 --expose-trigger-failure test/mjsunit/mjsunit.js test/mjsunit/verify-assert-false.js
==== C stack trace ===============================
1: V8_Fatal
2: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&))
3: 0x727ced
4: 0x72b6ba
5: 0x188c7f607f9b
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1018313003
Cr-Commit-Position: refs/heads/master@{#27318}
hpayer [Thu, 19 Mar 2015 15:04:47 +0000 (08:04 -0700)]
Remove early bail-out in VisitWeakList to investigate chrasher.
BUG=468601
LOG=n
Review URL: https://codereview.chromium.org/
1016353002
Cr-Commit-Position: refs/heads/master@{#27317}
caitpotter88 [Thu, 19 Mar 2015 14:47:18 +0000 (07:47 -0700)]
[es6] implement Reflect.apply() & Reflect.construct()
BUG=v8:3900
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
913073003
Cr-Commit-Position: refs/heads/master@{#27316}
weiliang.lin [Thu, 19 Mar 2015 14:32:50 +0000 (07:32 -0700)]
[x86] Atom check includes AMT
BUG=
Review URL: https://codereview.chromium.org/
998883002
Cr-Commit-Position: refs/heads/master@{#27315}
ulan [Thu, 19 Mar 2015 14:22:28 +0000 (07:22 -0700)]
Add debug checks to catch crashes with WeakCell::cast().
BUG=
Review URL: https://codereview.chromium.org/
1009603003
Cr-Commit-Position: refs/heads/master@{#27314}
dslomov [Thu, 19 Mar 2015 14:17:24 +0000 (07:17 -0700)]
Add a counter for legacy const.
Only adds a counter id, does not count anything.
R=jochen@chromium.org
BUG=v8:3942
LOG=N
Review URL: https://codereview.chromium.org/
1020883002
Cr-Commit-Position: refs/heads/master@{#27313}
yangguo [Thu, 19 Mar 2015 14:07:40 +0000 (07:07 -0700)]
Serializer: another small reorder of root objects.
I was mistaken, cons strings only occur a lot for custom heap snapshots,
not for the default start-up snapshot.
R=erik.corry@gmail.com, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1023673003
Cr-Commit-Position: refs/heads/master@{#27312}
rodolph.perfetta [Thu, 19 Mar 2015 14:01:36 +0000 (07:01 -0700)]
[arm64] serialize internal references via object visitor
BUG=
Review URL: https://codereview.chromium.org/
1020863003
Cr-Commit-Position: refs/heads/master@{#27311}
jarin [Thu, 19 Mar 2015 14:00:28 +0000 (07:00 -0700)]
[turbofan] Remember types for deoptimization during simplified lowering.
With this change, we remember the types of frame state inputs (in a new
operator, called TypedStateValues). Instead of inferring the value types
when building translations, we used the recorded types.
The original approach was not reliable because the passes after
simplified lowering can change node types, and this in turn confuses
the translation builder.
BUG=chromium:468727
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
1015423002
Cr-Commit-Position: refs/heads/master@{#27310}
yangguo [Thu, 19 Mar 2015 13:59:12 +0000 (06:59 -0700)]
Add debug checks to catch PropertyCell::cast failures.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
1025433002
Cr-Commit-Position: refs/heads/master@{#27309}
bmeurer [Thu, 19 Mar 2015 13:58:05 +0000 (06:58 -0700)]
[turbofan] Use proper parameter representation for stub calls.
The CallInterfaceDescriptor already provides information about the
expected representation of parameters, so we can use that instead of
hardcoding tagged representation for all parameters.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1019293002
Cr-Commit-Position: refs/heads/master@{#27308}
dusan.milosavljevic [Thu, 19 Mar 2015 13:56:58 +0000 (06:56 -0700)]
MIPS: Tweak constants to be in favor of table switch.
In prevous set-up table switch is rarely generated.
TEST=cctest/test-serialize/SerializeInternalReference
BUG=
Review URL: https://codereview.chromium.org/
1019463003
Cr-Commit-Position: refs/heads/master@{#27307}
mstarzinger [Thu, 19 Mar 2015 13:22:42 +0000 (06:22 -0700)]
Revert of Cleanup and unify Isolate::ReportPendingMessages. (patchset #4 id:60001 of https://codereview.chromium.org/
999923004/)
Reason for revert:
Failing Blink tests on Win and Mac:
- plugins/netscape-plugin-property-access-exception.html
- http/tests/plugins/cross-frame-object-access.html
Original issue's description:
> Cleanup and unify Isolate::ReportPendingMessages.
>
> Note that this is a pure cleanup CL and shouldn't have an observable
> impact on the functional behavior of message reporting.
>
> R=yangguo@chromium.org
TBR=yangguo@chromium.org,machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1016323002
Cr-Commit-Position: refs/heads/master@{#27306}
bmeurer [Thu, 19 Mar 2015 13:09:26 +0000 (06:09 -0700)]
[stubs] Add missing interface descriptor for the CompareIC.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1006173003
Cr-Commit-Position: refs/heads/master@{#27305}
titzer [Thu, 19 Mar 2015 13:03:51 +0000 (06:03 -0700)]
[turbofan] Fix GVN of projections and add verification for projection uniqueness.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1020873002
Cr-Commit-Position: refs/heads/master@{#27304}
jacob.bramley [Thu, 19 Mar 2015 12:44:09 +0000 (05:44 -0700)]
[ARM64] [turbofan] Support uxtb/uxth for add/sub.
Add support for appending extend modes uxtb or uxth to add and subtract
instructions, and using them in the instruction selector.
BUG=
Review URL: https://codereview.chromium.org/
1021533002
Cr-Commit-Position: refs/heads/master@{#27303}
dpranke [Thu, 19 Mar 2015 12:43:02 +0000 (05:43 -0700)]
Fix a stray reference to 'build_os' in BUILD.gn.
This should be 'host_os'; the build_os variable is going away.
R=jochen@chromium.org
BUG=344767
LOG=n
Review URL: https://codereview.chromium.org/
1010683003
Cr-Commit-Position: refs/heads/master@{#27302}
dusan.milosavljevic [Thu, 19 Mar 2015 12:41:57 +0000 (05:41 -0700)]
MIPS64: Fix bug in jump table test.
TEST=test-assembler-mips64/jump_tables3
BUG=
Review URL: https://codereview.chromium.org/
1011383004
Cr-Commit-Position: refs/heads/master@{#27301}
mstarzinger [Thu, 19 Mar 2015 12:40:51 +0000 (05:40 -0700)]
[turbofan] Remove stale TODO from FunctionTester.
R=titzer@chromium.org
TEST=cctest/test-run-jsexceptions
Review URL: https://codereview.chromium.org/
1022463003
Cr-Commit-Position: refs/heads/master@{#27300}
svenpanne [Thu, 19 Mar 2015 12:39:43 +0000 (05:39 -0700)]
Some CompilationInfo-related cleanup.
Use a delegating constructor for CompilationInfo, reducing duplicated
code. Simplified handling of InlinedFunctionInfos on the way: When we
start compiling, we have bigger things to worry about than a default
vector.
Reduced the usage of a SharedFunctionInfo for compiling, this is a
slighty strange concept.
Review URL: https://codereview.chromium.org/
1018853004
Cr-Commit-Position: refs/heads/master@{#27299}
jochen [Thu, 19 Mar 2015 12:38:30 +0000 (05:38 -0700)]
Clarify what APIs return Maybe and MaybeLocal values
If the Maybe is nothing or the MaybeLocal is empty, it means that the
API call either threw an exception or an exception was already pending.
In that case, the embedder needs to handle the exception or otherwise
react to the failed API call.
BUG=v8:3929
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1022803002
Cr-Commit-Position: refs/heads/master@{#27298}
Benedikt Meurer [Thu, 19 Mar 2015 11:45:40 +0000 (12:45 +0100)]
[turbofan] Turn weaken min/max limits for typer into constants.
The weaken limits are constants, there's no point in having a separate
copy of those constants per typer that is initialized per Typer
instance.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1008923004
Cr-Commit-Position: refs/heads/master@{#27297}
rodolph.perfetta [Thu, 19 Mar 2015 10:24:48 +0000 (03:24 -0700)]
[arm64] Assembler support for internal references.
BUG=
Review URL: https://codereview.chromium.org/
1016073002
Cr-Commit-Position: refs/heads/master@{#27296}
Benedikt Meurer [Thu, 19 Mar 2015 10:12:51 +0000 (11:12 +0100)]
[turbofan] Remove indirection in JSToBoolean/JSUnaryNot lowering.
This reduces the overhead of typed lowering, because we lower
JSToBoolean/JSUnaryNot directly if possible, instead of first lowering
to AnyToBoolean, and then letting the SimplifiedOperatorReducer do the
further lowering.
Also remove some obsolete tests from the cctest suite that have since
been removed by proper unittests. And improve unitttest coverage for the
typed lowering cases.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
999173003
Cr-Commit-Position: refs/heads/master@{#27295}
yangguo [Thu, 19 Mar 2015 10:06:56 +0000 (03:06 -0700)]
Do not test debug-scripts-request with TurboFan.
This test has been failing flakily on gc-stress, only with --turbo-filter=*
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1024483002
Cr-Commit-Position: refs/heads/master@{#27294}
yangguo [Thu, 19 Mar 2015 09:33:46 +0000 (02:33 -0700)]
Serializer: reorder root list items.
The first 32 root list items can be encoded very efficiently.
By reordering, we can better encode some often referenced root objects.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1019243002
Cr-Commit-Position: refs/heads/master@{#27293}
yangguo [Thu, 19 Mar 2015 09:26:42 +0000 (02:26 -0700)]
Serializer: clean up opcodes.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
1018263002
Cr-Commit-Position: refs/heads/master@{#27292}
yangguo [Thu, 19 Mar 2015 08:51:22 +0000 (01:51 -0700)]
Add regression test for dependency to field type tracked weak map.
TBR=jkummerow@chromium.org
BUG=v8:3969
LOG=N
Review URL: https://codereview.chromium.org/
1019223002
Cr-Commit-Position: refs/heads/master@{#27291}
yurys [Thu, 19 Mar 2015 08:18:35 +0000 (01:18 -0700)]
Introduce explicit constant for per Context debug data set by embedder
It's value is hardwired in gin[1] and is referenced in Blink[2]. Since it is treated specially by v8 debugger it should be defined in v8 API and referenced in gin and blink..
[1] https://src.chromium.org/viewvc/chrome/trunk/src/gin/public/context_holder.h?r1=239099&r2=239098&pathrev=239099
[2] https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/bindings/core/v8/V8PerContextData.cpp&q=kDebugIdIndex%20f:V8PerContextData&sq=package:chromium&type=cs
BUG=chromium:466631
LOG=Y
Review URL: https://codereview.chromium.org/
1020453002
Cr-Commit-Position: refs/heads/master@{#27290}
mvstanton [Thu, 19 Mar 2015 08:03:55 +0000 (01:03 -0700)]
Vector ICs: Clear the vector ic slots appropriately during debugging.
When the debugger is active, a host of connected functions get an associated
DebugInfo structure, and their code is copied. The debugger uses the original
code to occasionally patch ICs with their initial value. Although IC learning
can occur, it's thrown away often, depending on the constellation of
breakpoints active or deactivating. Finally, feedback is discarded when the
debugger is turned off.
The type feedback vector needs to be brought into line with this behavior, so
now the debugger clears it's IC slots at appropriate bottlenecks in debug.cc.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1014373002
Cr-Commit-Position: refs/heads/master@{#27289}
bmeurer [Thu, 19 Mar 2015 07:47:48 +0000 (00:47 -0700)]
[turbofan] Eliminatable JS/call nodes should not have a control input.
The control input is only relevant for operations that may "write" (to
prevent hoisting) or "throw" (because they are part of the control chain).
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1015353004
Cr-Commit-Position: refs/heads/master@{#27288}
michael_dawson [Thu, 19 Mar 2015 07:44:30 +0000 (00:44 -0700)]
PPC: cleanup excludes
Updated excludes to remove SKIPs where possible. Either
removing if no longer needed or replacing with SLOW where
tests just need more time to run
modified: test/cctest/cctest.status
modified: test/mjsunit/mjsunit.status
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1017073003
Cr-Commit-Position: refs/heads/master@{#27287}
yangguo [Thu, 19 Mar 2015 07:43:22 +0000 (00:43 -0700)]
Revert of Reland of "Fix memory leak caused by field type in descriptor array."
TBR=ulan@chromium.org
BUG=v8:3969
LOG=N
Review URL: https://codereview.chromium.org/
1020843002
Cr-Commit-Position: refs/heads/master@{#27286}
jarin [Thu, 19 Mar 2015 05:46:22 +0000 (22:46 -0700)]
[turbofan] Support lazy deopt for truncating store to a typed array.
The change introduces a second frame state (for the state before
the operation) for the StoreProperty nodes. If the store writes
into a typed array, the frame state is used for lazy deopt from
the to-number conversion that is performed by the store.
BUG=v8:3963
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
997983004
Cr-Commit-Position: refs/heads/master@{#27285}
v8-autoroll [Thu, 19 Mar 2015 05:45:14 +0000 (22:45 -0700)]
Update V8 DEPS.
Rolling v8/buildtools to
3b302fef93f7cc58d9b8168466905237484b2772
Rolling v8/tools/clang to
14dcc71cf53d4d97d0e6e8745089ff81de7b8a94
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1019133003
Cr-Commit-Position: refs/heads/master@{#27284}
balazs.kilvady [Wed, 18 Mar 2015 21:41:30 +0000 (14:41 -0700)]
MIPS: Serializer: serialize internal references via object visitor.
Port
7c149afb6c875b1c53723384459dc14a0e961927
BUG=
Review URL: https://codereview.chromium.org/
1019083002
Cr-Commit-Position: refs/heads/master@{#27283}
paul.lind [Wed, 18 Mar 2015 21:40:22 +0000 (14:40 -0700)]
MIPS: Load from PropertyCells using PropertyCell::kValueOffset rather than Cell::kValueOffset
Port
dda2bd6f4f952c604ab836f04052684722480849
BUG=
Review URL: https://codereview.chromium.org/
1015613003
Cr-Commit-Position: refs/heads/master@{#27282}
balazs.kilvady [Wed, 18 Mar 2015 21:39:14 +0000 (14:39 -0700)]
MIPS: Disinherit PropertyCell from Cell.
Port
8c0d289772649217a55011133c0e481741618330
BUG=
Review URL: https://codereview.chromium.org/
1017103003
Cr-Commit-Position: refs/heads/master@{#27281}
verwaest [Wed, 18 Mar 2015 19:53:37 +0000 (12:53 -0700)]
Load from PropertyCells using PropertyCell::kValueOffset rather than Cell::kValueOffset
BUG=
Review URL: https://codereview.chromium.org/
1019563002
Cr-Commit-Position: refs/heads/master@{#27280}
ulan [Wed, 18 Mar 2015 19:52:29 +0000 (12:52 -0700)]
Skip flaky mjsunit/debug-references in gc-stress.
BUG=v8:3969
LOG=NO
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1016063002
Cr-Commit-Position: refs/heads/master@{#27279}
svenpanne [Wed, 18 Mar 2015 16:12:03 +0000 (09:12 -0700)]
Add IBM people to PPC owners.
Review URL: https://codereview.chromium.org/
1014063002
Cr-Commit-Position: refs/heads/master@{#27278}
balazs.kilvady [Wed, 18 Mar 2015 16:05:20 +0000 (09:05 -0700)]
MIPS: Remove PropertyCell space.
Port
16c8485a35efc36cf6ccd15185282d65412e1502
Original commit message:
Replaces StoreGlobalCell / LoadGlobalCell with NamedField variants that use write barriers.
BUG=
Review URL: https://codereview.chromium.org/
1014293002
Cr-Commit-Position: refs/heads/master@{#27277}
mstarzinger [Wed, 18 Mar 2015 15:59:37 +0000 (08:59 -0700)]
Cleanup and unify Isolate::ReportPendingMessages.
Note that this is a pure cleanup CL and shouldn't have an observable
impact on the functional behavior of message reporting.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
999923004
Cr-Commit-Position: refs/heads/master@{#27276}
yangguo [Wed, 18 Mar 2015 13:38:32 +0000 (06:38 -0700)]
Serializer: serialize internal references via object visitor.
Review URL: https://codereview.chromium.org/
1005183006
Cr-Commit-Position: refs/heads/master@{#27275}
verwaest [Wed, 18 Mar 2015 12:54:02 +0000 (05:54 -0700)]
Disinherit PropertyCell from Cell
BUG=
Review URL: https://codereview.chromium.org/
1015983003
Cr-Commit-Position: refs/heads/master@{#27274}
balazs.kilvady [Wed, 18 Mar 2015 12:52:55 +0000 (05:52 -0700)]
MIPS: Remove kind field from StackHandler.
Port
15f8213809a57c2a163b500a732c9ffe5160a41a
Original commit message:
This relands commit
96f79568a926966ebcf0685bf9adc947f4e1fbff.
This makes the Isolate::Throw logic not depend on a prediction of
whether an exception is caught or uncaught. Such a prediction is
inherently undecidable because a finally block can decide between
consuming or re-throwing an exception depending on arbitray control
flow.
There still is a conservative prediction mechanism in place that
components like the debugger or tracing can use for reporting.
With this change we can get rid of the StackHandler::kind field, a
pre-requisite to do table-based lookups of exception handlers.
BUG=
Review URL: https://codereview.chromium.org/
1015993002
Cr-Commit-Position: refs/heads/master@{#27273}
rossberg [Wed, 18 Mar 2015 12:51:49 +0000 (05:51 -0700)]
Adjust key behaviour for weak collections
R=dslomov@chromium.org
BUG=460083,v8:3970,v8:3971
LOG=Y
Review URL: https://codereview.chromium.org/
1018923002
Cr-Commit-Position: refs/heads/master@{#27272}
dcarney [Wed, 18 Mar 2015 12:50:41 +0000 (05:50 -0700)]
add interceptors which do not mask existing properties
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
962613002
Cr-Commit-Position: refs/heads/master@{#27271}
dcarney [Wed, 18 Mar 2015 12:50:13 +0000 (05:50 -0700)]
convert last api functions which try to handle exceptions to maybes
BUG=v8:3929
LOG=n
Review URL: https://codereview.chromium.org/
1015083002
Cr-Commit-Position: refs/heads/master@{#27270}
verwaest [Wed, 18 Mar 2015 11:43:51 +0000 (04:43 -0700)]
Remove PropertyCell space
Replaces StoreGlobalCell / LoadGlobalCell with NamedField variants that use write barriers.
BUG=
Review URL: https://codereview.chromium.org/
1016803002
Cr-Commit-Position: refs/heads/master@{#27269}
svenpanne [Wed, 18 Mar 2015 11:42:36 +0000 (04:42 -0700)]
Tweak the TurboFan pipeline for stub compilation.
Review URL: https://codereview.chromium.org/
1010673004
Cr-Commit-Position: refs/heads/master@{#27268}
ulan [Wed, 18 Mar 2015 11:41:26 +0000 (04:41 -0700)]
Allow compaction when incremental marking is on.
BUG=chromium:450824
LOG=NO
Review URL: https://codereview.chromium.org/
1014263002
Cr-Commit-Position: refs/heads/master@{#27267}
bmeurer [Wed, 18 Mar 2015 10:43:10 +0000 (03:43 -0700)]
[turbofan] Don't run value numbering with typed lowering.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
1019443002
Cr-Commit-Position: refs/heads/master@{#27266}
jochen [Wed, 18 Mar 2015 10:36:54 +0000 (03:36 -0700)]
Turn on overapproximation of the weak closure
BUG=v8:3862
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1013133002
Cr-Commit-Position: refs/heads/master@{#27265}
loislo [Wed, 18 Mar 2015 10:34:09 +0000 (03:34 -0700)]
CodeCleanup: eliminate unnecessary base class and make the children unvirtual.
I found some strange split in deopt entry points generator.
The code for table entry generator had two classes.
It is safe to join these classes together and drop virtual.
BUG=
LOG=n
Review URL: https://codereview.chromium.org/
1010413003
Cr-Commit-Position: refs/heads/master@{#27264}
mstarzinger [Wed, 18 Mar 2015 10:19:04 +0000 (03:19 -0700)]
Remove kind field from StackHandler.
This relands commit
96f79568a926966ebcf0685bf9adc947f4e1fbff.
This makes the Isolate::Throw logic not depend on a prediction of
whether an exception is caught or uncaught. Such a prediction is
inherently undecidable because a finally block can decide between
consuming or re-throwing an exception depending on arbitray control
flow.
There still is a conservative prediction mechanism in place that
components like the debugger or tracing can use for reporting.
With this change we can get rid of the StackHandler::kind field, a
pre-requisite to do table-based lookups of exception handlers.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
997213003
Cr-Commit-Position: refs/heads/master@{#27263}
vegorov [Wed, 18 Mar 2015 10:14:51 +0000 (03:14 -0700)]
Make counter and histogram related callbacks part of the Isolate::CreateParams.
Some native counters (e.g. KeyedLoadGenericSlow) are referenced from stubs that are generated very early in the Isolate lifecycle before v8::Isolate::New returns. Thus counter lookup callback also needs to be installed early prior to v8::internal::Isolate::Init call. Otherwise assembler will just assume that the counter is not enabled and produce no code from IncrementCounter - because address of the counter is not yet available.
Histogram related callbacks are moved for consistency to make them able to collect samples which occur at isolate initialization time.
BUG=
Review URL: https://codereview.chromium.org/
1010233002
Cr-Commit-Position: refs/heads/master@{#27262}
jochen [Wed, 18 Mar 2015 10:01:23 +0000 (03:01 -0700)]
Make tests pass with weak closure overapproximation enabled
BUG=v8:3862
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1014873002
Cr-Commit-Position: refs/heads/master@{#27261}
bmeurer [Wed, 18 Mar 2015 09:46:06 +0000 (02:46 -0700)]
[turbofan] Cache more common operators.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1015053002
Cr-Commit-Position: refs/heads/master@{#27260}
hpayer [Wed, 18 Mar 2015 09:38:46 +0000 (02:38 -0700)]
Merge old data and pointer space.
BUG=
Review URL: https://codereview.chromium.org/
1012023002
Cr-Commit-Position: refs/heads/master@{#27259}
loislo [Wed, 18 Mar 2015 09:30:29 +0000 (02:30 -0700)]
CpuProfiler: log pc offset for deopts.
This is the fifth part of https://codereview.chromium.org/
1012633002
In this part we collect the offsets of deopt calls and save it into
an inlined function info.
On the Next:
Later when deopt happens we will get the offset of deopt call and
search it among inlined infos.
BUG=chromium:452067
LOG=n
Review URL: https://codereview.chromium.org/
1011113004
Cr-Commit-Position: refs/heads/master@{#27258}
jarin [Wed, 18 Mar 2015 09:25:42 +0000 (02:25 -0700)]
[Turbofan] Only weaken types for Phi nodes.
We also need to fix the weakening to weaken unions with ranges in them.
BUG=
Review URL: https://codereview.chromium.org/
1011103003
Cr-Commit-Position: refs/heads/master@{#27257}
bmeurer [Wed, 18 Mar 2015 08:45:47 +0000 (01:45 -0700)]
[turbofan] Cache Call operator for AllocateHeapNumberStub in change lowering.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1015953002
Cr-Commit-Position: refs/heads/master@{#27256}
michael_dawson [Wed, 18 Mar 2015 08:43:21 +0000 (01:43 -0700)]
PPC: Changes to allow AIX to compile with gcc 4.8.3
We were able to remove most of our changes needed to compile
on AIX with an earlier compiler level. These changes are the
remaining ones.
The changes in heap/heap.cc are needed because otherwise the
compiler complains that result is potentially used before
it is initialized.
The changes in heap/mark-compact.cc are required because
AIX supports the full 64 bit address range so the check
being guarded is invalid.
The changes in build/toolchain.gypi and
test/cctest/cctest/gyp are aix only and are adjust the
compile/link options to allow the AIX build to succeed.
modified: build/toolchain.gypi
modified: src/heap/heap.cc
modified: src/heap/mark-compact.cc
modified: test/cctest/cctest.gyp
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1013833002
Cr-Commit-Position: refs/heads/master@{#27255}
michael_dawson [Wed, 18 Mar 2015 08:42:14 +0000 (01:42 -0700)]
PPC: Force PPC linux to use gcc and gcc 4.8.3 changes for AIX
- We don't have clang for PPC, force use of gcc.
- Changes needed to compile/build on AIX with gcc 4.8.3 missed
from last review
modified: build/standalone.gypi
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1018543003
Cr-Commit-Position: refs/heads/master@{#27254}
loislo [Wed, 18 Mar 2015 08:31:20 +0000 (01:31 -0700)]
CpuProfiler: x64. put right address to the stack, so the callee would be able to resolve it into the right deopt_info.
'from' is using for Code object lookup and will be used for
inline_id lookup. see https://codereview.chromium.org/
1012633002
So we should be able to map it.
BUG=chromium:452067
LOG=n
Review URL: https://codereview.chromium.org/
1012743002
Cr-Commit-Position: refs/heads/master@{#27253}
loislo [Wed, 18 Mar 2015 08:09:34 +0000 (01:09 -0700)]
CpuProfiler: ia32. put right address to the stack, so the callee would be able to resolve it into the right deopt_info.
'from' is using for Code object lookup and will be used for
inline_id lookup. see https://codereview.chromium.org/
1012633002
So we should be able to map it.
BUG=chromium:452067
LOG=n
Review URL: https://codereview.chromium.org/
1014783002
Cr-Commit-Position: refs/heads/master@{#27252}
loislo [Wed, 18 Mar 2015 08:08:27 +0000 (01:08 -0700)]
CpuProfiler: x87. put right address to the stack, so the callee would be able to resolve it into the right deopt_info.
'from' is using for Code object lookup and will be used for
inline_id lookup. see https://codereview.chromium.org/
1012633002
So we should be able to map it.
BUG=chromium:452067
LOG=n
Review URL: https://codereview.chromium.org/
1013243002
Cr-Commit-Position: refs/heads/master@{#27251}
bmeurer [Wed, 18 Mar 2015 07:27:31 +0000 (00:27 -0700)]
[turbofan] Improve ChangeLowering.
- Use representation information provided by the type system to skip SMI
checks.
- Fix combining of ChangeTaggedToFloat64 with JSToNumber now that JS
operators can produce control.
- Remove the unnecessary abstraction of smi/field offsets.
- Improve unit test coverage.
- Various cosmetic fixes.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1018873002
Cr-Commit-Position: refs/heads/master@{#27250}
wtc [Tue, 17 Mar 2015 23:13:00 +0000 (16:13 -0700)]
Fix the GN build for MIPS.
Define V8_TARGET_ARCH_MIPS or V8_TARGET_ARCH_MIPS64 if the target
arch is mipsel or mips64el.
R=dpranke@chromium.org,jochen@chromium.org,machenbach@chromium.org
BUG=v8:3972
LOG=N
Review URL: https://codereview.chromium.org/
1016923002
Cr-Commit-Position: refs/heads/master@{#27249}