Commit Graph

26828 Commits

Author SHA1 Message Date
bmeurer
d3e5db0428 [compiler] Always pass closure argument to with, catch and block context creation.
Up until now we sometimes pass Smi 0 around as closure and expect the
runtime to translate that appropriately. But we need to be careful in
some places to not confuse the Smi 0 with a real closure. However, we
could instead just pass the correct closure extracted from the native
context.

This addresses three long-standing TODOs in the JSTypedLowering pass.

Drive-by-fix: Further unify error message reporting for ToObject (we had
a special message in case of ToObject error in with context creation).

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32336}
2015-11-26 13:35:26 +00:00
machenbach
b250bec4ab [CQ] Add experimental bots.
BUG=chromium:535160, chromium:561530
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32335}
2015-11-26 13:21:07 +00:00
vogelheim
fd73cb191c Remove usage of deprecated APIs from test-api.cc.
No more deprecation warnings up to line 11k.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32334}
2015-11-26 12:44:39 +00:00
oth
c0bc19fc7f [Interpreter] Deprecate bytecode-graph-builder-unittest.
Removing bytecode graph builder tests as they are high maintenance and
have limited use, ie they track changes in the implementation rather
than behaviour.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32333}
2015-11-26 11:50:20 +00:00
mstarzinger
a29f0576c3 [heap] Remove eager shortcut in JSFunction visitor.
This removes an optimization in the static JSFunction visitor that
eagerly marked through to the SharedFunctionInfo for code flushing
candidates. This causes all processing in VisitJSFunction to be
side-stepped and hence might cause leaks.

R=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32332}
2015-11-26 11:36:34 +00:00
jochen
c47ce4cc8e Add explicit Isolate parameter to Exception::CreateMessage()
This way, we can also capture a stack trace for SMIs

BUG=chromium:495801
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#32331}
2015-11-26 11:21:39 +00:00
bmeurer
b5d50296ed [turbofan] Optimize truncated safe integer multiplications.
For a * b with only truncated word32 uses (or result known to be in
signed32 range), we can use Int32Mul if we know for sure that the
intermediate result is inside the safe integer range, and a and b are
in signed32 range.

Drive-by-fix: Also use TypeCache in SimplifiedLowering.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32330}
2015-11-26 11:01:44 +00:00
titzer
c82bbf319a Factory should always set the constant pool offset.
R=jkummerow@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32329}
2015-11-26 10:43:57 +00:00
yangguo
833fb7d870 [debugger] track debugger feature usage via histogram.
R=jochen@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32328}
2015-11-26 10:41:49 +00:00
verwaest
8b192a2a30 Check for jsruntime before comparing with default super runtime function
BUG=chromium:561975
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32327}
2015-11-26 10:39:41 +00:00
machenbach
58f4a052a1 [build] Fix msan after clang roll.
Port https://codereview.chromium.org/1474923002

BUG=chromium:538614,chromium:559530,chromium:560589
LOG=n
TBR=jochen@chromium.org, thakis@chromium.org, hans@chromium.org,

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

Cr-Commit-Position: refs/heads/master@{#32326}
2015-11-26 10:34:46 +00:00
ahaas
2f0d6288c9 [turbofan] Implemented the TruncateFloat32ToInt64 TurboFan operator.
The TruncateFloat32ToInt64 operator converts a float32 to an int64 using
the round-to-zero rounding mode (truncate). If the input value is
outside the int64 range, then the result depends on the architecture. I
implemented the operator on x64, arm64, and mips64.

R=titzer@chromium.org, jacob.bramley@arm.com

Committed: https://crrev.com/1df1066c3c77464d2a68d7c8d501a5a0f3ad195a
Cr-Commit-Position: refs/heads/master@{#32315}

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

Cr-Commit-Position: refs/heads/master@{#32325}
2015-11-26 10:28:38 +00:00
ishell
5a3b4366cd Add test for Promises subclassing.
BUG=v8:3101, v8:3330
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32324}
2015-11-26 10:27:52 +00:00
hpayer
c678f27e40 Remove leftover NoIncrementalWriteBarrier prototypes.
TBR=ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32323}
2015-11-26 10:22:09 +00:00
jochen
ed841139df Remove custom win64 modulo code
Just use the same workaround as on win32.

Also replace fmod calls with modulo() for consistency

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

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

Cr-Commit-Position: refs/heads/master@{#32322}
2015-11-26 10:11:54 +00:00
ishell
05449f741b Allow in-object properties in JSArrayBuffer.
BUG=v8:4531
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32321}
2015-11-26 09:46:01 +00:00
neis
39efa4348a [proxies] Implement [[Delete]].
LOG=N
BUG=v8:1543

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

Cr-Commit-Position: refs/heads/master@{#32320}
2015-11-26 09:34:28 +00:00
jie.pan
f9bc310e44 Add support for PERF_RECORD_MMAP2 record type
Newer perf.data contains both MMAP and MMAP2 record type,
but MMAP2 record type is not supported in previous ll_prof,
MMAP2 record information will be lost.

BUG=v8:4569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32319}
2015-11-26 09:31:32 +00:00
mstarzinger
45c52ddfdd [turbofan] Enable debugger tests that no longer fail.
R=yangguo@chromium.org
BUG=v8:4544
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32318}
2015-11-26 09:24:44 +00:00
ishell
b711c31870 Allow in-object properties in JSTypedArray and JSDataView.
This CL also removes JSTypedArray and JSDataView static visitor Ids because the visiting logic is the same as for ordinary JSObject.

BUG=v8:4531
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32317}
2015-11-26 09:13:48 +00:00
ahaas
a336404f61 Revert of [turbofan] Implemented the TruncateFloat32ToInt64 TurboFan operator. (patchset #1 id:1 of https://codereview.chromium.org/1476063002/ )
Reason for revert:
Unexpected error occurred.

Original issue's description:
> [turbofan] Implemented the TruncateFloat32ToInt64 TurboFan operator.
>
> The TruncateFloat32ToInt64 operator converts a float32 to an int64 using
> the round-to-zero rounding mode (truncate). If the input value is
> outside the int64 range, then the result depends on the architecture. I
> implemented the operator on x64, arm64, and mips64.
>
> R=titzer@chromium.org, jacob.bramley@arm.com
>
> Committed: https://crrev.com/1df1066c3c77464d2a68d7c8d501a5a0f3ad195a
> Cr-Commit-Position: refs/heads/master@{#32315}

TBR=jacob.bramley@arm.com,titzer@chromium.org,v8-mips-ports@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32316}
2015-11-26 09:05:57 +00:00
ahaas
1df1066c3c [turbofan] Implemented the TruncateFloat32ToInt64 TurboFan operator.
The TruncateFloat32ToInt64 operator converts a float32 to an int64 using
the round-to-zero rounding mode (truncate). If the input value is
outside the int64 range, then the result depends on the architecture. I
implemented the operator on x64, arm64, and mips64.

R=titzer@chromium.org, jacob.bramley@arm.com

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

Cr-Commit-Position: refs/heads/master@{#32315}
2015-11-26 08:49:26 +00:00
bmeurer
8003db95cc [test] Reland test for 52bit multiplication and division.
Contributed by Fedor Indutny <fedor@indutny.com>.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32314}
2015-11-26 06:46:59 +00:00
bmeurer
5d18e93bd6 Revert of binary-operator-reducer: reduce mul+div(shift) (patchset #11 id:200001 of https://codereview.chromium.org/1350223006/ )
Reason for revert:
This is also unsound for the reasons outlined in
https://codereview.chromium.org/1473073004/
Will help Fedor to implement a solution based on simplified operators.

Original issue's description:
> binary-operator-reducer: reduce mul+div(shift)
>
> Reduction Input:
>
>     ChangeInt32ToFloat64=>          TruncateFloat64ToInt32
>                          Float64Mul=>
>     ChangeInt32ToFloat64=>          Float64Div=>TruncateFloat64ToInt32
>
> Output:
>
>          =>  TruncateInt64ToInt32
> Int64Mul
>          =>  Int64Shr => TruncateInt64ToInt32
>
> Test code:
>
>     function mul(a, b) {
>       var l = a & 0x3ffffff;
>       var h = b & 0x3ffffff;
>       var m = l * h;
>
>       var rl = m & 0x3ffffff;
>       var rh = (m / 0x4000000) | 0;
>
>       return rl | rh;
>     }
>
>     mul(1, 2);
>     var a0 = mul(0x3ffffff, 0x3ffffff);
>     mul(0x0, 0x0);
>     %OptimizeFunctionOnNextCall(mul);
>     var a1 = mul(0x3ffffff, 0x3ffffff);
>
>     print(a0 + ' == ' + a1);
>
> BUG=
> R=mstarzinger@chromium.org
>
> Committed: https://crrev.com/461e5b49d022335a7fc4e9d172397a4bd48b93d4
> Cr-Commit-Position: refs/heads/master@{#31899}

TBR=mstarzinger@chromium.org,danno@chromium.org,titzer@chromium.org,fedor@indutny.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32313}
2015-11-26 06:16:01 +00:00
bmeurer
dc55405992 Revert of [machine-operator-reducer] fix float truncation (patchset #8 id:140001 of https://codereview.chromium.org/1433353006/ )
Reason for revert:
This is also unsound for the reasons outlined in
https://codereview.chromium.org/1473073004/
Will reland the mjsunit test separately and help Fedor to implement a solution based on simplified operators.

Original issue's description:
> [machine-operator-reducer] fix float truncation
>
> Don't replace `TruncateFloat64ToInt32(RoundInt64ToFloat64(value))` with
> `value`. Generally, `value` may have a range bigger than the one that
> could fit into Int32. Replace it with `TruncateInt64ToInt32(value)`
> instead, and only if the `value` fits into Float64 without precision
> loss.
>
> Add missing mjsunit test for 52bit multiplication/division optimization
> that has landed in refs/heads/master@{#31899}.
>
> BUG=
> R=titzer@google.com
>
> Committed: https://crrev.com/64efa2a904773816968992628f0bf0f1b7ae82be
> Cr-Commit-Position: refs/heads/master@{#32227}

TBR=titzer@chromium.org,fedor@indutny.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32312}
2015-11-26 06:12:22 +00:00
v8-autoroll
9c232d8f14 Update V8 DEPS.
Rolling v8/tools/clang to 18e54a1f3caadfa9fd3b3e3f561cc57b2d834ff7

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

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

Cr-Commit-Position: refs/heads/master@{#32311}
2015-11-26 04:23:55 +00:00
bmeurer
b0c179daf6 Revert of [compiler] merge binary-operator-reducer (patchset #2 id:20001 of https://codereview.chromium.org/1473073004/ )
Reason for revert:
Unsound use of types in the MachineOperatorReducer. Will work on a sound solution with Fedor.

Original issue's description:
> [compiler] merge binary-operator-reducer
>
> Merge BinaryOperatorReducer into the MachineOperatorReducer class.
> It does not need `Revisit()` calls, because the newly inserted nodes are
> visited anyway, and there are no other methods that need AdvancedReducer
> there.
>
> BUG=
> R=titzer@chromium.org
>
> Committed: https://crrev.com/993ba9d2529a6401b3040b9263f8d06db7dbb4f1
> Cr-Commit-Position: refs/heads/master@{#32298}

TBR=titzer@chromium.org,fedor@indutny.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32310}
2015-11-26 03:52:30 +00:00
zhengxing.li
4334a81823 X87: [interpreter] Switch passing of new.target to register.
port 3d004eeab2 (r32264)

  original commit message:
  This passes the new.target value in a register instead of through a
  side-channel via the construct stub. The interpreter entry trampoline
  stores this value in a bytecode register so that it can be accessed
  directly by the interpreter. The size of the interpreter stack frame
  hence grows by one slot.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32309}
2015-11-26 03:14:58 +00:00
ahaas
57117b8339 [turbofan] Implemented the optional Float32RoundTiesEven operator.
The Float32RoundTiesEven operator rounds float32 numbers towards the nearest
integer. If the distance to two integers is the same, then the result is
the even integer. This is the default rounding mode of the ieee 754 floating
point standard.

I implemented the optional Float32RoundTiesEven operator on x64, ia32, arm, and arm64.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32308}
2015-11-25 21:13:20 +00:00
adamk
802ea71e7c Run all message tests with a variant that forces preparsing
This will make sure that message tests cover both the parser and preparser
paths, just as we do for parsing-related cctests.

BUG=v8:4372
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32307}
2015-11-25 21:02:17 +00:00
adamk
481bad1ff0 Reland shipping of --harmony-destructuring-bind
Also fix CheckConflictingVarDeclarations() to properly handle
legacy const bindings. Without that change enabling the flag
causes code like:

  function f() { const x; var x; }

to throw an early error, rather than wait to throw the error
until f is invoked.

The previous patch ran into problems with the fuzzer; that crash was fixed
(with test coverage added) in https://crrev.com/ceb92ebfdfb561d71038793c02b42aa973f55ec4

BUG=v8:811
LOG=y
TBR=rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#32306}
2015-11-25 20:54:01 +00:00
ofrobots
dc3442b1ec [heap] delete Heap::LeftTrimFixedAray
No more uses left for this code (thank goodness.)

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32305}
2015-11-25 20:25:59 +00:00
jarin
d5e5e1e161 [turbofan] Generalize representation inference for NumberAdd.
This should fix the Turbofan Octane/Mandreel regression introduced by

commit 9ea551aa45
Author: jarin <jarin@chromium.org>
Date:   Sun Nov 22 05:45:38 2015 -0800

    [turbofan] Simplify lowering of number addition.

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

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

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

Cr-Commit-Position: refs/heads/master@{#32304}
2015-11-25 20:10:24 +00:00
littledan
e5b56115a7 test262 roll
In this new version of test262, a number of known failing tests have
been changed to match the ES2016 semantics, which V8 implements.

R=adamk

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

Cr-Commit-Position: refs/heads/master@{#32303}
2015-11-25 20:09:35 +00:00
mtrofin
be7e43614c A simpler way to determine if a range spills only in deferred blocks, by
validating that the hot path does not spill - somewhat simpler code.

Cleared the scenario where a range is defined in a deferred block. The
code before was slightly more complicated by not leveraging the
property that these sort of ranges would be completely contained within
deferred blocks.

Moved "spills in deferred blocks" marking to a more appropriate
location.

One thing this CL achieves is correct support for scenarios where a
range is spilled both on the deferred and then hot path, and the ranges
concatenate. I owe better unit testing, which I will add in a subsequent
CL.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32302}
2015-11-25 20:08:09 +00:00
ahaas
19741ac977 [turbofan] Implemented the optional Float32RoundTruncate operator.
The Float32RoundTruncate operator rounds float32 numbers towards zero.
The operator is currently implemented on x64, ia32, arm, and arm64.

Additionally I added support for the float32 vrintz, vrintn, and vrinta
instructions to the arm simulator.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32301}
2015-11-25 19:29:02 +00:00
jochen
8d90b92737 Never call CpuFeatures::FlushICache directly
Always go through Assembler::FlushICache so we automatically use the
simulator when running with a simulator.

BUG=v8:2487
R=epertoso@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32300}
2015-11-25 19:27:34 +00:00
machenbach
df3dee87a7 Revert of [debugger] flood function for stepping before calling it. (patchset #7 id:120001 of https://codereview.chromium.org/1463803002/ )
Reason for revert:
[Sheriff] Breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3074

Original issue's description:
> [debugger] flood function for stepping before calling it.
>
> R=verwaest@chromium.org
>
> Committed: https://crrev.com/93eb633214e0f97bf70ae30d2a07b7fbbaa78266
> Cr-Commit-Position: refs/heads/master@{#32285}

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

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

Cr-Commit-Position: refs/heads/master@{#32299}
2015-11-25 19:26:46 +00:00
fedor
993ba9d252 [compiler] merge binary-operator-reducer
Merge BinaryOperatorReducer into the MachineOperatorReducer class.
It does not need `Revisit()` calls, because the newly inserted nodes are
visited anyway, and there are no other methods that need AdvancedReducer
there.

BUG=
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32298}
2015-11-25 19:25:17 +00:00
hpayer
8f9a17f44f Transition array should not know about write barrier internals.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32297}
2015-11-25 19:24:29 +00:00
fmeawad
bd1943b711 DEPS change from issue 988893003
Since the gn builders do not resolve the DEPS after patch, the patch cannot contain
both the DEPS change as well the usage of the newly added DEPS.

If the CL mentioned in the title does not land, this CL is to be remove/reverted as well.

BUG=v8:4560
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32296}
2015-11-25 19:23:02 +00:00
ishell
064bbccfa9 Fix promotion of JSFunctions with in-object properties.
BUG=v8:4572, chromium:561481
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32295}
2015-11-25 19:22:14 +00:00
machenbach
189ec6a023 Revert of Tenure descriptor arrays. (patchset #1 id:1 of https://codereview.chromium.org/1476913002/ )
Reason for revert:
[Sheriff] Breaks gc stress:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/544

Original issue's description:
> Tenure descriptor arrays.
>
> BUG=
>
> Committed: https://crrev.com/38ec44f3bde8c16448e093b6595d0452e189023f
> Cr-Commit-Position: refs/heads/master@{#32289}

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

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

Cr-Commit-Position: refs/heads/master@{#32294}
2015-11-25 19:15:56 +00:00
machenbach
699b32574b Reland of [turbofan] Introduce proper JSCreateLiteralRegExp operator. (patchset #1 id:1 of https://codereview.chromium.org/1472423002/ )
Reason for revert:
[Sheriff] Wrong revert.

Original issue's description:
> Revert of [turbofan] Introduce proper JSCreateLiteralRegExp operator. (patchset #2 id:20001 of https://codereview.chromium.org/1475973002/ )
>
> Reason for revert:
> Broke "V8 Linux64 GC Stress - custom snapshot".
>
> http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/2824
>
> Original issue's description:
> > [turbofan] Introduce proper JSCreateLiteralRegExp operator.
> >
> > This adds a new JavaScript level operator for regexp literal creation,
> > similar to what we already have for array and object literals. This
> > once gets lowered to a call to the FastCloneRegExpStub always.
> >
> > R=mstarzinger@chromium.org
> >
> > Committed: https://crrev.com/8659c5d1d287177369ce179a8d0b910192d840d9
> > Cr-Commit-Position: refs/heads/master@{#32288}
>
> TBR=mstarzinger@chromium.org,bmeurer@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/168683d270d44f05f28acaf7d34c32d0250d2a4c
> Cr-Commit-Position: refs/heads/master@{#32292}

TBR=mstarzinger@chromium.org,bmeurer@chromium.org,ishell@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32293}
2015-11-25 19:14:24 +00:00
ishell
168683d270 Revert of [turbofan] Introduce proper JSCreateLiteralRegExp operator. (patchset #2 id:20001 of https://codereview.chromium.org/1475973002/ )
Reason for revert:
Broke "V8 Linux64 GC Stress - custom snapshot".

http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/2824

Original issue's description:
> [turbofan] Introduce proper JSCreateLiteralRegExp operator.
>
> This adds a new JavaScript level operator for regexp literal creation,
> similar to what we already have for array and object literals. This
> once gets lowered to a call to the FastCloneRegExpStub always.
>
> R=mstarzinger@chromium.org
>
> Committed: https://crrev.com/8659c5d1d287177369ce179a8d0b910192d840d9
> Cr-Commit-Position: refs/heads/master@{#32288}

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

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

Cr-Commit-Position: refs/heads/master@{#32292}
2015-11-25 18:16:20 +00:00
mlippautz
206ba31245 [heap] Count bits in markbit cell instead of using a table.
Iterating live objects using mark bits is memory bound and already pretty heavy
on the cache as we always need to look at the mark bits, the objects (payload),
and their maps.

This CL changes the object start computation from a table lookup, which was yet
another memory location, to a CPU-bound computation.

BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32291}
2015-11-25 17:32:12 +00:00
thakis
b60d17eccd Unconditionally expand STATIC_ASSERT to the C++11 form.
Also add a note that it should go away over time.

BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32290}
2015-11-25 17:16:44 +00:00
hpayer
38ec44f3bd Tenure descriptor arrays.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32289}
2015-11-25 17:01:49 +00:00
bmeurer
8659c5d1d2 [turbofan] Introduce proper JSCreateLiteralRegExp operator.
This adds a new JavaScript level operator for regexp literal creation,
similar to what we already have for array and object literals. This
once gets lowered to a call to the FastCloneRegExpStub always.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32288}
2015-11-25 16:50:19 +00:00
jochen
27001ca652 Lazily initialize fast_sqrt() and pass an Isolate parameter to it
R=jkummerow@chromium.org
BUG=v8:2487
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32287}
2015-11-25 16:37:28 +00:00