Commit Graph

26874 Commits

Author SHA1 Message Date
verwaest
970a7ad758 Fix Reflect.construct wrt proxy, generator, and non-subclass new.target
This makes sure that proxy + Function/Array works
Makes sure that new.target can be a generator
Makes sure that if new.target is not a subclass, but does not have a prototype, that we'll get that same prototype back the next time we look at new.target.prototype.

BUG=v8:1543, v8:3330, v8:3931
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32382}
2015-11-27 21:44:48 +00:00
bmeurer
47502a238b [runtime] Replace global object link with native context link in all contexts.
Previously all contexts had a link to the global object, but what is
required in most cases (except for the global load, store and delete
case) is the native context.

This also removes the second dummy global object that was still linked
to every native context. We will add a different mechanism to ensure
that builtins do not pollute the actual global object during
bootstrapping.

Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff.

CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
R=yangguo@chromium.org,mstarzinger@chromium.org

Committed: https://crrev.com/d290f204938295bfecc5c8e645ccfcff6e80ddb8
Cr-Commit-Position: refs/heads/master@{#32375}

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

Cr-Commit-Position: refs/heads/master@{#32381}
2015-11-27 17:00:11 +00:00
jkummerow
f7a0ecb0ca [test+presubmit] Remove duplicate test status file entries
And add a presubmit check to guard against future duplicates.

R=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32380}
2015-11-27 15:04:49 +00:00
ahaas
68cc0be2ad [turbofan] Implemented the TruncateFloat32ToUint64 TurboFan operator.
The TruncateFloat32ToUint64 operator converts a float32 to an uint64 using
round-to-zero rounding mode. If the input value is outside uint64 range, then
the result depends on the architecture. I provide an implementation for x64 and
arm64.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32379}
2015-11-27 15:01:51 +00:00
hpayer
c88d7cd1e0 Tenure transition array.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32378}
2015-11-27 14:33:22 +00:00
machenbach
673108d000 Revert of [runtime] Replace global object link with native context link in all contexts. (patchset #3 id:40001 of https://codereview.chromium.org/1480003002/ )
Reason for revert:
[Sheriff] Breaks:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/5472

Original issue's description:
> [runtime] Replace global object link with native context link in all contexts.
>
> Previously all contexts had a link to the global object, but what is
> required in most cases (except for the global load, store and delete
> case) is the native context.
>
> This also removes the second dummy global object that was still linked
> to every native context. We will add a different mechanism to ensure
> that builtins do not pollute the actual global object during
> bootstrapping.
>
> Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff.
>
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/d290f204938295bfecc5c8e645ccfcff6e80ddb8
> Cr-Commit-Position: refs/heads/master@{#32375}

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

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

Cr-Commit-Position: refs/heads/master@{#32377}
2015-11-27 14:30:23 +00:00
jochen
c08e952566 Delete Assembler::FlushICacheWithoutIsolate
Requires passing an explicit Isolate* to a bunch of static Assembler
methods.

BUG=v8:2487
R=yangguo@chromium.org,jkummerow@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32376}
2015-11-27 13:35:52 +00:00
bmeurer
d290f20493 [runtime] Replace global object link with native context link in all contexts.
Previously all contexts had a link to the global object, but what is
required in most cases (except for the global load, store and delete
case) is the native context.

This also removes the second dummy global object that was still linked
to every native context. We will add a different mechanism to ensure
that builtins do not pollute the actual global object during
bootstrapping.

Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32375}
2015-11-27 13:32:20 +00:00
verwaest
469675ee3f Fix name shown by devtools for subclasses.
This replaces internal GetConstructorName with toStringTag, .constructor's name
and class_name. This entirely changes how the name is computed for use in
devtools.

BUG=chromium:529177
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32374}
2015-11-27 13:10:25 +00:00
machenbach
780077f6d1 [test-runner] Move test case processing beyond the multi-process boundary.
This will allow moving the test outcome check beyond the
multi-process boundary in a follow up. It'll allow wrapping
more complex test jobs like predicable mode on the multi-
process side, which will make the code easier to maintain.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32373}
2015-11-27 12:52:25 +00:00
hpayer
6190c608c8 [heap] Remove live weak cells from weak cell list when finalizing incremental marking.
BUG=chromium:548562
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32372}
2015-11-27 12:32:49 +00:00
jochen
508f122dec Pass an isolate to RelocInfo
It needs ot to flush icaches all over the place

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

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

Cr-Commit-Position: refs/heads/master@{#32371}
2015-11-27 12:19:23 +00:00
verwaest
7ceaf72708 [Proxies] Support constructable proxy as new.target (reland)
BUG=v8:1543, v8:3330, v8:3931
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32370}
2015-11-27 12:17:16 +00:00
verwaest
1779136f5d Don't intrusively mark in the heap snapshot generator
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32369}
2015-11-27 12:05:59 +00:00
hpayer
369778ec55 Do not remove write barriers for stores of old space references in most recent old space allocation.
BUG=chromium:561449
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32368}
2015-11-27 11:59:03 +00:00
balazs.kilvady
8e54a667b2 Add -Wno-sign-compare flag to gcc builds.
Fix gcc 4.9.2 signed-compare warnings/errors.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32367}
2015-11-27 11:43:10 +00:00
Djordje.Pesic
b287c74308 MIPS: Fixup disasembler for ctc1 and cfc1
These instructions now show FCSR in disassembly, instead f31

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32366}
2015-11-27 11:38:18 +00:00
mlippautz
afb8bcce8b [heap] Unify evacuating an object for new and old generation.
BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32365}
2015-11-27 11:14:49 +00:00
machenbach
c865a49537 [CQ] Update new trybots.
BUG=chromium:535160, chromium:561530
TBR=tandrii@chromium.org, sergiyb@chromium.org, akuegel@chromium.org
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32364}
2015-11-27 10:55:25 +00:00
bmeurer
e3ecfdfecc [turbofan] Properly wire effects for JSLoadContext and JSStoreContext.
The effect chain should be respected for context loads and stores.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32363}
2015-11-27 09:22:56 +00:00
hpayer
5874ac783f [heap] Cleanup mark bit usage.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32362}
2015-11-27 09:15:17 +00:00
mlippautz
97f1bac47e [heap] Tweak evacuation candidate selection.
Compaction selection now derives target fragmentation based on compaction speed
and a goal per page, if compaction speed has been traced. This way we avoid
overlong compaction of single pages.

This change could regress memory consumption if (a) the memory reducer does not
kick in, and (b) lots of medium fragmented pages would be compacted in our fast
path.

BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32361}
2015-11-27 09:03:33 +00:00
thakis
96cb909837 Allocators for map<K, V> need to allocate pair<const K, V>.
BUG=chromium:562227
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32360}
2015-11-27 08:39:22 +00:00
jochen
e03cadab09 Always pass an Isolate to AssemblerBase
BUG=v8:2487
R=yangguo@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32359}
2015-11-27 08:37:49 +00:00
zhengxing.li
f62c02de03 X87: Create ast/ and parsing/ subdirectories and move appropriate files.
port 199bbdb40f (r32351)

  original commit message:
  Moves all files related to AST and scopes into ast/,
  and all files related to scanner & parser to parsing/.

  Also eliminates a couple of spurious dependencies.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32358}
2015-11-27 04:57:10 +00:00
zhengxing.li
69d946c6eb X87: [debugger] flood function for stepping before calling it.
port 81e131ce48 (r32339)

  original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32357}
2015-11-27 04:39:53 +00:00
zhengxing.li
e2128e3cf5 X87: [compiler] Always pass closure argument to with, catch and block context creation.
port d3e5db0428 (r32336)

  original commit message:
  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).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32356}
2015-11-27 04:31:40 +00:00
v8-autoroll
4f3a3d5865 Update V8 DEPS.
Rolling v8/tools/clang to 865186d384b106af211dcfaf2ab3f4e778773098

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

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

Cr-Commit-Position: refs/heads/master@{#32355}
2015-11-27 04:23:55 +00:00
pan.deng
bd5b19e4fe Inline functions to speedup GetElement.
BUG=None
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32354}
2015-11-27 02:52:16 +00:00
jochen
a594545ac8 Isoalte Isoschmalte [typo fix]
BUG=none
R=jkummerow@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32353}
2015-11-26 18:27:05 +00:00
machenbach
732b575553 [CQ] Remove triggered experimental builder.
BUG=chromium:535160, chromium:561530
TBR=tandrii@chromium.org, sergiyb@chromium.org,
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32352}
2015-11-26 16:23:55 +00:00
rossberg
199bbdb40f Create ast/ and parsing/ subdirectories and move appropriate files
Moves all files related to AST and scopes into ast/,
and all files related to scanner & parser to parsing/.

Also eliminates a couple of spurious dependencies.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32351}
2015-11-26 16:23:07 +00:00
machenbach
87f7dc61fa Revert of [Proxies] Support constructable proxy as new.target (patchset #3 id:40001 of https://codereview.chromium.org/1481613003/ )
Reason for revert:
[Sheriff] Breaks:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3977

Original issue's description:
> [Proxies] Support constructable proxy as new.target
>
> BUG=v8:1543, v8:3330, v8:3931
> LOG=n
>
> Committed: https://crrev.com/88ac8aa5236195137d4a7aa18bcc5650a3bdca5a
> Cr-Commit-Position: refs/heads/master@{#32346}

TBR=ishell@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:1543, v8:3330, v8:3931

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

Cr-Commit-Position: refs/heads/master@{#32350}
2015-11-26 16:21:00 +00:00
mlippautz
138d9bae5d [heap] Refactor evacuation for young and old gen into visitors.
Create a visitor for evacuating objects for young and old generation. This is
the first step of preparing a task to process, both,  newspace and oldspace
pages in parallel.

BUG=chromium:524425
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32349}
2015-11-26 16:14:48 +00:00
jochen
b73118112a Mark PromiseRejectMessage::GetStackTrace as deprecated
It's not used anywhere.

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

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

Cr-Commit-Position: refs/heads/master@{#32348}
2015-11-26 16:02:36 +00:00
dusan.m.milosavljevic
7a918fb6e7 MIPS: [turbofan] Implement Float32Round(TiesEven|RoundUp|RoundDown|Truncate).
TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32347}
2015-11-26 15:56:08 +00:00
verwaest
88ac8aa523 [Proxies] Support constructable proxy as new.target
BUG=v8:1543, v8:3330, v8:3931
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32346}
2015-11-26 15:23:19 +00:00
jkummerow
27d1c008ee [proxies] Refactor JSReceiver::GetKeys()
In preparation for implementing proper Proxy support.

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

Cr-Commit-Position: refs/heads/master@{#32345}
2015-11-26 14:53:16 +00:00
jochen
b93e4d2c8b Initialize fast memmove methods in the Isolate's ctor
BUG=v8:2487
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32344}
2015-11-26 14:40:12 +00:00
yangguo
a9bdee1f90 [debugger] Remove obsolete stepping modes.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32343}
2015-11-26 14:34:42 +00:00
oth
c19a29f8c5 Re-reland "[Interpreter] Add CreateClosure to BytecodeGraphBuilder."
Original issue's description:
> [Interpreter] Add CreateClosure to BytecodeGraphBuilder.
>
> Adds code and tests to support CreateClosure bytecode when building
> graphs.
>
> Committed: https://crrev.com/4cceb11b0929abcbc82bf0854554a9b66003335d
> Cr-Commit-Position: refs/heads/master@{#32224}

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32342}
2015-11-26 14:33:57 +00:00
bmeurer
e3a46bc766 [compiler] Decouple ToObject from CreateWithContext.
Decouple the implicit ToObject for with statements from the actual
creation of the with context. This way we can handle/optimize those
constructs separately.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32341}
2015-11-26 14:30:22 +00:00
jochen
3c2bec8d70 Mark HiddenValue API as deprecated
BUG=none
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32340}
2015-11-26 14:19:53 +00:00
yangguo
81e131ce48 [debugger] flood function for stepping before calling it.
R=verwaest@chromium.org

Committed: https://crrev.com/93eb633214e0f97bf70ae30d2a07b7fbbaa78266
Cr-Commit-Position: refs/heads/master@{#32285}

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

Cr-Commit-Position: refs/heads/master@{#32339}
2015-11-26 14:12:18 +00:00
mstarzinger
69227cc192 [turbofan] Test has been outsmarted by optimization.
The fast-prototype test has been outsmarted by constructor inlining
because the instantiation is been correctly optimized away. Internal
state introspection about prototype turning fast was upset by that.

R=bmeurer@chromium.org
BUG=v8:4544
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32338}
2015-11-26 14:04:09 +00:00
mstarzinger
fe232cfd08 [turbofan] Only allocate implict receiver when needed.
This adapts the constructor call inlining machinery to only allocate
implicit receivers and perform the return value check if the callee
needs it.

R=verwaest@chromium.org
BUG=v8:4544
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32337}
2015-11-26 13:58:31 +00:00
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