Commit Graph

24103 Commits

Author SHA1 Message Date
ishell
fec3c9cba6 TypeofMode replaces TypeofState and ContextualMode.
NON_CONTEXTUAL ~> INSIDE_TYPEOF
CONTEXTUAL ~> NOT_INSIDE_TYPEOF

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

Cr-Commit-Position: refs/heads/master@{#29611}
2015-07-13 13:39:43 +00:00
balazs.kilvady
9f9f27c333 MIPS64: Refine 'Remove unused byte from Map::instance_sizes field.'
Port 2027335f1c

Original commit message:
Note that there are currently no objects that require a pre-allocated
properties backing store, all such slots are in-object properties from
the begining. Hence {unused + pre_allocated - inobject == 0} holds.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29610}
2015-07-13 13:36:13 +00:00
mstarzinger
4b22d5eca2 Remove unused bailout reasons.
This also adds a script to the tools directory that allows to grep for
unused bailout reasons. For now the script needs to be run manually.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29609}
2015-07-13 13:34:12 +00:00
dusan.milosavljevic
686e3abf66 MIPS: Fix missing Float32 case in AssembleArchBoolean.
TEST=mjsunit/asm/embenchen/box2d
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29608}
2015-07-13 13:33:01 +00:00
mstarzinger
79a3cb2eac Our JavaScriptFrame::function_slot_object is arch independent.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29607}
2015-07-13 12:45:29 +00:00
conradw
2f981db039 [strong] Strong classes can't extend null
BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29606}
2015-07-13 12:40:38 +00:00
machenbach
0a3b77397b Prepare for using ninja for win64.
BUG=chromium:508921
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29605}
2015-07-13 12:39:28 +00:00
rmcilroy
d02f62484e Move SmartPointer to base.
Review URL: https://codereview.chromium.org/1221433021

Cr-Commit-Position: refs/heads/master@{#29604}
2015-07-13 12:38:17 +00:00
yangguo
198c75f6cd Debugger: refactor reloc info.
- split relocation info for debug break slots for
  - calls (with call arguments count as data)
  - construct calls
  - normal slots
- renamed DEBUG_BREAK into DEBUGGER_STATEMENT
- removed unused IC state for Debug stubs

R=ulan@chromium.org
BUG=v8:4269
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29603}
2015-07-13 12:32:24 +00:00
bmeurer
443b071abe [turbofan] Context specialization should only specialize loads/stores.
The JSContextSpecialization should only care about loads from the
context and stores to the context, where the context is either a
HeapConstant or the special context Parameter (and a context for the
outer most function is provided). This way we don't eagerly embed
arbitrary context constants for no benefit, but we still specialize the
loads and store which we actually care about.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29602}
2015-07-13 12:31:00 +00:00
danno
080d8f6566 [turbofan] Use context specialization in code stubs
Review URL: https://codereview.chromium.org/1226503005

Cr-Commit-Position: refs/heads/master@{#29601}
2015-07-13 12:29:48 +00:00
machenbach
c59fdf929c Revert of Update V8 DEPS. (patchset #3 id:40001 of https://codereview.chromium.org/1232583002/)
Reason for revert:
[Sheriff] Looks like another clang option got deprecated: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/326

Original issue's description:
> Update V8 DEPS.
>
> Rolling v8/tools/clang to 58128abd44c22255def1163d30bc9bb2cc85e15c
>
> Original CL: https://codereview.chromium.org/1232043002/
>
> BUG=
>
> Committed: https://crrev.com/6211e1660492f653d30ddd1336bce6f9083ede94
> Cr-Commit-Position: refs/heads/master@{#29598}

TBR=jochen@chromium.org,akos.palfi@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29600}
2015-07-13 11:45:28 +00:00
machenbach
fbea729b70 Revert of Enable loads and stores to global vars through property cell shortcuts installed into parent script… (patchset #1 id:1 of https://codereview.chromium.org/1237603002/)
Reason for revert:
[Sheriff] This changes lots of layout tests. See comment on CL.

Original issue's description:
> Enable loads and stores to global vars through property cell shortcuts installed into parent script context.
>
> Committed: https://crrev.com/cd61b047f1ab92c353a629556f9d3ad571ace1b1
> Cr-Commit-Position: refs/heads/master@{#29595}

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

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

Cr-Commit-Position: refs/heads/master@{#29599}
2015-07-13 11:19:32 +00:00
machenbach
6211e16604 Update V8 DEPS.
Rolling v8/tools/clang to 58128abd44c22255def1163d30bc9bb2cc85e15c

Original CL: https://codereview.chromium.org/1232043002/

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29598}
2015-07-13 10:59:07 +00:00
bmeurer
f063a6ab42 [osr] Increase Code::profiler_ticks to 28 bits.
Up until now we were unable to have profiler ticks beyong 255, which
basically disabled OSR for moderately large functions.

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

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

Cr-Commit-Position: refs/heads/master@{#29597}
2015-07-13 10:57:55 +00:00
verwaest
bb964f63d1 Fix keyed stores to strings convertible to indices
BUG=chromium:509545
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29596}
2015-07-13 10:46:35 +00:00
ishell
cd61b047f1 Enable loads and stores to global vars through property cell shortcuts installed into parent script context.
Review URL: https://codereview.chromium.org/1237603002

Cr-Commit-Position: refs/heads/master@{#29595}
2015-07-13 10:22:12 +00:00
ulan
530e36d7b3 Correctly handle the case when TimerTask is destroyed with being run.
This is follow-up for a5616e.

BUG=chromium:508584
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29594}
2015-07-13 10:18:24 +00:00
danno
a1475dae5d Create a internal native context used only for TF-generated code stubs
Until now, TF-generated code stubs piggy-backed off of the builtin
context. Since generation of code stubs is lazy, stubs generated at
different times in different native contexts would contain embedded
pointers different builtin contexts, leading to cross-context references
and memory leaks.

After this CL, all TF-generated code stubs are generated inside a
internal thinned-out, native context that lives solely for the
purpose of hosting generated code stubs.

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

Cr-Commit-Position: refs/heads/master@{#29593}
2015-07-13 09:45:51 +00:00
ishell
f87286e2db Loads and stores to global vars are now made via property cell shortcuts installed into parent script context.
This CL also adds hydrogen stubs for global loads and global stores, full-codegen and TurboFan now uses this machinery.

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

Cr-Commit-Position: refs/heads/master@{#29592}
2015-07-13 09:18:57 +00:00
rmcilroy
a0129a25ba [turbofan] Add an InterpreterDispatch linkage type.
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29591}
2015-07-13 08:27:47 +00:00
mstarzinger
2027335f1c Remove unused byte from Map::instance_sizes field.
Note that there are currently no objects that require a pre-allocated
properties backing store, all such slots are in-object properties from
the begining. Hence {unused + pre_allocated - inobject == 0} holds.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29590}
2015-07-13 08:26:36 +00:00
paul.lind
f0d1106a3f MIPS: Fix BlockTrampolinePoolFor() to emit trampoline before blocking, if needed.
Fixes possible failure in AssembleArchTableSwitch().

BUG=v8:4294
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29589}
2015-07-13 07:28:38 +00:00
bmeurer
b19f118c16 [turbofan] Optimize string "length" property access based on types.
Optimize string "length" property access based on static type
information if possible, but also optimistically optimize the access
based on type feedback from the LoadIC.

R=jarin@chromium.org

Committed: https://crrev.com/17add22ff4b9c5ca638502e7708f0d9d99baca40
Cr-Commit-Position: refs/heads/master@{#29543}

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

Cr-Commit-Position: refs/heads/master@{#29588}
2015-07-13 06:02:22 +00:00
bmeurer
3c9c7748c3 [arm] CheckConstPool between TurboFan instructions.
Some TurboFan instructions block the literal pool for their entire
duration. If a long enough sequence of these instructions is
encountered, the literal pool can be blocked until it goes out of range.

Patch from issue 1236603002 at patchset 1 (http://crrev.com/1236603002#ps1).

BUG=v8:4292
LOG=y
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29587}
2015-07-13 05:26:48 +00:00
martyn.capewell
ad7f35c49a [turbofan] Reduce Float64 comparison to Float32.
Reduce Float64 comparison to Float32 when both inputs are conversions from
Float32.

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

Cr-Commit-Position: refs/heads/master@{#29586}
2015-07-13 05:23:53 +00:00
mbrandy
f91119c455 PPC: Debugger: record reloc info for debug break slot immediate before the slot.
Port 0a19e44925

Original commit message:
    If we do it too early, we might get a constant pool between the reloc info
    and the actual slot.

R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29585}
2015-07-10 21:27:45 +00:00
mbrandy
ceb6de68dc PPC: Remove unused jump_elimination_allowed parameter to Assembler::branch_offset().
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29584}
2015-07-10 21:11:47 +00:00
mbrandy
c97fce10d2 PPC: Remove separate construct stub for new.target users.
Port e50c861b09

R=mstarzinger@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29583}
2015-07-10 21:03:35 +00:00
mbrandy
16e5c24895 PPC: Debugger: use debug break slot to break on call.
Port 8965b683ce

Original commit message:
    Break point at calls are currently set via IC. To change this, we
    need to set debug break slots instead. We also need to distinguish
    those debug break slots as calls to support step-in.

    To implement this, we add a data field to debug break reloc info to
    indicate non-call debug breaks or in case of call debug breaks, the
    number of arguments. We can later use this to find the callee on the
    evaluation stack in Debug::PrepareStep.

R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29582}
2015-07-10 21:02:38 +00:00
paul.lind
91fcb0081e MIPS: Check that branches to trampoline pool do actually reach.
Do the check in release mode, too. Prefer crash over mis-patched
branch instruction.

BUG=v8:4294
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29581}
2015-07-10 20:55:51 +00:00
arv
897c8e4064 Remove arv from OWNERS
Goodbyes are not forever.
Goodbyes are not the end.
They simply mean I’ll miss you
Until we meet again!
~Author Unknown

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

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

Cr-Commit-Position: refs/heads/master@{#29580}
2015-07-10 19:16:42 +00:00
verwaest
18b14d0a96 Revert preallocating of descriptors since right now getters and setters cause copying of descriptor arrays
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29579}
2015-07-10 17:11:50 +00:00
arv
d90013d1d1 [es6] Handle conflicts for sloppy let
We have to call CheckConflictingVarDeclarations in case we have enabled
--harmony-sloppy

BUG=v8:4287
LOG=N
R=littledan@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29578}
2015-07-10 16:39:53 +00:00
arv
a73338ba9e [es6] Enforce TDZ checks for let/const in StoreLookupSlot
With --harmony-sloppy we can get to a runtime store in the presence of
an eval. We therefor need to check that the value is not the hole which
is used to enforce TDZ.

BUG=v8:4284
LOG=N
R=rossberg@chromium.org, littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29577}
2015-07-10 16:20:52 +00:00
verwaest
1f2755bf35 Fix keyed access of primitive objects in the runtime.
For now it uses a pretty slow path for accessing strings by wrapping it into a new temporary wrapper.

BUG=v8:4042, v8:3088
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29576}
2015-07-10 16:11:07 +00:00
verwaest
377ea53470 Update the context if Set on slow-mode argument targets an aliased arguments entry
BUG=v8:4177
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29575}
2015-07-10 15:52:10 +00:00
verwaest
7b5eab583f Use entry rather than index in ElementsAccessor::Get
BUG=v8:4137, v8:4177
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29574}
2015-07-10 14:13:45 +00:00
yangguo
9d9256cc79 Change and simplify RelocInfo format.
- we now have 6 bits to store RelocInfo mode.
 - removed a redundant tag byte per long reloc info entry.
 - renamed methods to be more precise.

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

Cr-Commit-Position: refs/heads/master@{#29573}
2015-07-10 13:14:49 +00:00
machenbach
e925e0b69f [test] Let perf runner interleave try executions.
This allows running two executables interleaved to reduce
flakiness of tryjobs. The executables must reside in
different out directories.

BUG=chromium:507213
LOG=n
NOTRY=true
TEST=python -m unittest run_perf_test

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

Cr-Commit-Position: refs/heads/master@{#29572}
2015-07-10 13:02:25 +00:00
verwaest
f87af94a46 Use entry rather than index in ElementsAccessor::Set
BUG=v8:4137,v8:4177
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29571}
2015-07-10 12:56:41 +00:00
verwaest
0b3d6f7a7d Reload the map of typed arrays after performing ToNumber.
BUG=chromium:507980
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29570}
2015-07-10 12:49:40 +00:00
hablich
40b64652f9 Updated version to 4.6
BUG=
TBR=machenbach@chromium.org,vogelheim@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29569}
2015-07-10 12:48:29 +00:00
yangguo
0a19e44925 Debugger: record reloc info for debug break slot immediate before the slot.
If we do it too early, we might get a constant pool between the reloc info
and the actual slot.

R=ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29568}
2015-07-10 12:47:26 +00:00
ishell
b625d4d8cc [arm64] Fixed unnecessary environment assignment to LSmiTag instruction.
BUG=chromium:490021
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29567}
2015-07-10 11:36:17 +00:00
epertoso
3c7d5820b1 Fixes the parser-shell by adding a dependency to StartupDataUtil.
Review URL: https://codereview.chromium.org/1230173002

Cr-Commit-Position: refs/heads/master@{#29566}
2015-07-10 10:27:04 +00:00
ulan
a5616e5d4b Disable the pending task if the memory reducer is torn down.
BUG=chromium:508584
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29565}
2015-07-10 10:07:52 +00:00
bmeurer
331b87e222 Remove more uses of the deprecated EnumSet template class.
EnumtSet has been deprecated for quite some time, and replaced with the
more general and type safe base::Flags template class.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29564}
2015-07-10 09:35:11 +00:00
machenbach
dcb4498ce7 [Sheriff] Skip worker test.
BUG=v8:4279
LOG=n
NOTRY=true
TBR=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29563}
2015-07-10 09:31:00 +00:00
mstarzinger
e50c861b09 Remove separate construct stub for new.target users.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29562}
2015-07-10 08:50:33 +00:00