chunyang.dai
728b39573c
Fix the compilation error for turbofan unsupported platform.
...
Fix the compilation error for turbofan unsupported platform. The Linkage::GetOsrValuePosition()
function is implemented in linkage-impl.h. And this file is included by different platform specific
file separately. This leads to compilation error for turbofan unsupported platform.
The fix is adding one dummy implementation in linkage.cc.
BUG=
Review URL: https://codereview.chromium.org/848873002
Cr-Commit-Position: refs/heads/master@{#26041}
2015-01-13 13:12:33 +00:00
bmeurer
1fa21bfd39
[turbofan] Reduce Word32And masking with shifted inputs.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/847113002
Cr-Commit-Position: refs/heads/master@{#26040}
2015-01-13 13:02:40 +00:00
bmeurer
9f292086f9
[turbofan] Add PlainPrimitiveToNumber simplified operator.
...
TEST=unittests
Review URL: https://codereview.chromium.org/845333002
Cr-Commit-Position: refs/heads/master@{#26038}
2015-01-13 11:02:57 +00:00
Sven Panne
c09b26d14b
Avoid MSVC's C6323 warning (use of arithmetic operator on Boolean type)
...
We could use BoolToInt consistently, but for now let's just fix the warnings.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/825913005
Cr-Commit-Position: refs/heads/master@{#26037}
2015-01-13 10:52:44 +00:00
bmeurer
ca741a0b3c
[turbofan] Avoid expensive fixup for Uint32Div if divisor is even.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/840813008
Cr-Commit-Position: refs/heads/master@{#26036}
2015-01-13 10:01:18 +00:00
yangguo
bcab9eacf3
Update references to global object after deserializing context.
...
R=jochen@chromium.org
TEST=test-serialize/CustomContext{Des,S}erialization
Also test by
- make ia32.debug embedscript=<full path to mjsunit.js>
- d8 -e "assertDoesNotThrow('print(1)')"
Review URL: https://codereview.chromium.org/846023002
Cr-Commit-Position: refs/heads/master@{#26035}
2015-01-13 08:48:08 +00:00
bmeurer
c24220c0c1
[turbofan] Improve code generation for unordered comparisons.
...
TEST=cctest,unittests
Review URL: https://codereview.chromium.org/850653002
Cr-Commit-Position: refs/heads/master@{#26034}
2015-01-13 08:42:02 +00:00
jarin
527e19afd5
[turbofan] Add missing deopt.
...
BUG=chromium:447567
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/809463005
Cr-Commit-Position: refs/heads/master@{#26033}
2015-01-13 08:40:54 +00:00
svenpanne
cf09a5a191
Avoid MSVC's C6282 warning (assignment of constant in Boolean context).
...
By courtesy of /analyze... :-}
Review URL: https://codereview.chromium.org/846223002
Cr-Commit-Position: refs/heads/master@{#26032}
2015-01-13 08:37:06 +00:00
marja
665c6faad2
CompleteParserRecorder: Don't do zero-sized allocations.
...
Instead, we should use Collector::kMinCapacity.
R=jochen@chromium.org
BUG=v8:3727
LOG=N
Review URL: https://codereview.chromium.org/847823002
Cr-Commit-Position: refs/heads/master@{#26030}
2015-01-12 17:32:00 +00:00
yangguo
39cd762c6c
Embed custom script into the snapshot.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/845973003
Cr-Commit-Position: refs/heads/master@{#26029}
2015-01-12 15:26:31 +00:00
caitpotter88
4b6316c5ff
Check for octals in template spans only, not expressions
...
BUG=v8:3806
LOG=N
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/808793004
Cr-Commit-Position: refs/heads/master@{#26028}
2015-01-12 15:07:47 +00:00
bmeurer
0e8a6d4ec8
[turbofan] Canonicalize x - K to x + -K.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/846913002
Cr-Commit-Position: refs/heads/master@{#26027}
2015-01-12 15:02:06 +00:00
balazs.kilvady
09e5e02da7
MIPS64: Fix '[turbofan] Implement OSR for outer loops.'
...
Add missing include of 159b14172f
.
BUG=
Review URL: https://codereview.chromium.org/845983003
Cr-Commit-Position: refs/heads/master@{#26025}
2015-01-12 14:29:06 +00:00
rmcilroy
76ce4a9c2f
[d8] Fix V8 external snapshot for Windows.
...
Adds a cast to V8 external snapshot code for Windows.
BUG=421063, 439661
LOG=N
Review URL: https://codereview.chromium.org/842573004
Cr-Commit-Position: refs/heads/master@{#26024}
2015-01-12 12:54:05 +00:00
erikcorry
7db1759b65
Unify phantom and internal fields weak handle callbacks
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/842153004
Cr-Commit-Position: refs/heads/master@{#26022}
2015-01-12 12:12:10 +00:00
dslomov
a4124b3bfc
Map -0 to integer 0 for typed array constructors.
...
R=bmeurer@chromium.org
BUG=chromium:447756
LOG=Y
Review URL: https://codereview.chromium.org/790813005
Cr-Commit-Position: refs/heads/master@{#26021}
2015-01-12 11:42:57 +00:00
titzer
159b14172f
[turbofan] Implement OSR for outer loops.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/809333002
Cr-Commit-Position: refs/heads/master@{#26020}
2015-01-12 11:39:58 +00:00
jochen
aeb09e6dcf
Merge v8_optimized_debug 1 and 2
...
All builders that used level 1 should meanwhile define
v8_enable_slow_dchecks, and so they can use level 2 without losing
coverage. Level 2, however, is considerably faster, so we want to use it
on those builders as well. The make optdebug setting is not affected by
this change.
BUG=none
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/847753002
Cr-Commit-Position: refs/heads/master@{#26019}
2015-01-12 09:58:42 +00:00
marja
2305cfb4e2
ES6 unicode escapes, part 2: Regexps.
...
Allows \u{xxxxx} in regexps. Behind the --harmony-unicode flag.
Part 1 is here: https://codereview.chromium.org/716423002
BUG=v8:3648
LOG=N
Review URL: https://codereview.chromium.org/788043005
Cr-Commit-Position: refs/heads/master@{#26018}
2015-01-12 09:50:34 +00:00
paul.lind
eb68d6fe13
MIPS: remove immediate constraint within CompareAndSwap.
...
Improper use of immediate constraint is slightly non-optimal
with gcc/gnu-as but causes breakage with clang.
BUG=
Review URL: https://codereview.chromium.org/841263002
Cr-Commit-Position: refs/heads/master@{#26016}
2015-01-09 20:12:28 +00:00
bmeurer
b6c7e11c10
[turbofan] Fix typo in IrOpcode::Mnemonic.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/843043002
Cr-Commit-Position: refs/heads/master@{#26014}
2015-01-09 14:20:03 +00:00
jochen
21ce246423
Correctly setup the freelist of the coderange on Win64
...
Since we have a special guard page at the beginning of the code range on
win64, we need to make sure to adjust the size of the free list
accordingly when creating it.
BUG=chromium:447555
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/843973002
Cr-Commit-Position: refs/heads/master@{#26012}
2015-01-09 13:07:42 +00:00
Jochen Eisinger
c10c3cbf18
Fast forward V8 to version 4.2
...
R=machenbach@chromium.org
LOG=y
BUG=none
Review URL: https://codereview.chromium.org/809803007
Cr-Commit-Position: refs/heads/master@{#26011}
2015-01-09 12:56:04 +00:00
hpayer
b1bcf6667d
Try to reduce memory footprint when we run out of memory in Deserializer.
...
BUG=403113
LOG=n
Review URL: https://codereview.chromium.org/831893003
Cr-Commit-Position: refs/heads/master@{#26010}
2015-01-09 12:54:17 +00:00
titzer
7e98658e31
[turbofan] Fix control reducer for degenerate cases of self-loop branches.
...
R=jarin@chromium.org
BUG=chromium:447526
Review URL: https://codereview.chromium.org/828823006
Cr-Commit-Position: refs/heads/master@{#26009}
2015-01-09 12:28:14 +00:00
ishell
c95b3274e2
Verify that Api function's instance call handler is actually a CallHandlerInfo structure.
...
This is to ensure that chromium:443798 is caused by a random memory
corruption.
Review URL: https://codereview.chromium.org/846613002
Cr-Commit-Position: refs/heads/master@{#26008}
2015-01-09 12:17:30 +00:00
yangguo
affc68b8aa
Add sticky flag to RegExpMirror.
...
R=marja@chromium.org
Review URL: https://codereview.chromium.org/840253002
Cr-Commit-Position: refs/heads/master@{#26005}
2015-01-09 09:56:32 +00:00
hpayer
ce311ed001
Regularly check hash set addresses to verify memory integrity.
...
BUG=
Review URL: https://codereview.chromium.org/804603006
Cr-Commit-Position: refs/heads/master@{#26002}
2015-01-08 18:17:37 +00:00
jochen
0959123e57
Remove "extra checks"
...
Instead, just use DCHECKs. The builders that want them in release mode
should already be useding dcheck_always_on anyways
BUG=none
R=machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/841083002
Cr-Commit-Position: refs/heads/master@{#26001}
2015-01-08 16:29:39 +00:00
dslomov
a417b41880
Unship ES6 classes.
...
R=rossberg@chromium.org
BUG=v8:3330
Review URL: https://codereview.chromium.org/836393003
Cr-Commit-Position: refs/heads/master@{#26000}
2015-01-08 15:11:01 +00:00
hpayer
3783de492f
Verify that heap object iterator stays within page bound.
...
BUG=
Review URL: https://codereview.chromium.org/823583010
Cr-Commit-Position: refs/heads/master@{#25999}
2015-01-08 14:45:28 +00:00
jochen
33c81549fb
Revert of Revert of Revert of Turn on job-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/840023002/ )
...
Reason for revert:
still doesn't work
Original issue's description:
> Revert of Revert of Turn on job-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/791033007/ )
>
> Reason for revert:
> attempt reland after landing a fix
>
> Original issue's description:
> > Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/ )
> >
> > Reason for revert:
> > revert
> >
> > Original issue's description:
> > > Turn on job-based recompilation
> > >
> > > BUG=v8:3608
> > > LOG=y
> > > R=yangguo@chromium.org
> > >
> > > Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> > > Cr-Commit-Position: refs/heads/master@{#25972}
> >
> > TBR=yangguo@chromium.org
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=v8:3608
> >
> > Committed: https://crrev.com/28a5a4865183769cbed9d42ad3fdc1b1d8bae3a3
> > Cr-Commit-Position: refs/heads/master@{#25975}
>
> TBR=yangguo@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/b4bc9c1a3a7d03dee0b3dd6460414085f79cd36e
> Cr-Commit-Position: refs/heads/master@{#25994}
TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/832103003
Cr-Commit-Position: refs/heads/master@{#25998}
2015-01-08 14:31:23 +00:00
bmeurer
5157472539
[turbofan] Cleanup duplicated/unused code in InstructionSelector.
...
- Use C++11 range based for loops.
- Remove duplicated virtual register set in unittests.
- Don't expose implementation details of InstructionSelector.
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/837423002
Cr-Commit-Position: refs/heads/master@{#25997}
2015-01-08 14:13:33 +00:00
yangguo
d06f1db31f
Fix unsafe unaligned accesses in the serializer/deserializer.
...
R=svenpanne@chromium.org
BUG=v8:3771
LOG=N
Review URL: https://codereview.chromium.org/841943002
Cr-Commit-Position: refs/heads/master@{#25995}
2015-01-08 13:18:55 +00:00
jochen
b4bc9c1a3a
Revert of Revert of Turn on job-based recompilation (patchset #1 id:1 of https://codereview.chromium.org/791033007/ )
...
Reason for revert:
attempt reland after landing a fix
Original issue's description:
> Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/ )
>
> Reason for revert:
> revert
>
> Original issue's description:
> > Turn on job-based recompilation
> >
> > BUG=v8:3608
> > LOG=y
> > R=yangguo@chromium.org
> >
> > Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> > Cr-Commit-Position: refs/heads/master@{#25972}
>
> TBR=yangguo@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/28a5a4865183769cbed9d42ad3fdc1b1d8bae3a3
> Cr-Commit-Position: refs/heads/master@{#25975}
TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/840023002
Cr-Commit-Position: refs/heads/master@{#25994}
2015-01-08 13:16:02 +00:00
jochen
a443998ed3
Make sure that the TimerEventScope is destroyed before we signal completion
...
Otherwise, the isolate that is referenced by the scope might already be
gone
BUG=v8:3608
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/836413005
Cr-Commit-Position: refs/heads/master@{#25993}
2015-01-08 13:14:30 +00:00
Ben Noordhuis
ad0069e8fe
compiler: enable optimizer for function literals
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/821553003
Patch from Ben Noordhuis <ben@strongloop.com>.
Cr-Commit-Position: refs/heads/master@{#25992}
2015-01-08 13:13:59 +00:00
Yang Guo
2050994d80
Correctly parse line ends for debugging.
...
Instead of using only \n as line terminator, we now use the definition
in http://www.ecma-international.org/ecma-262/5.1/#sec-7.3
R=marja@chromium.org
BUG=v8:2825
LOG=Y
Review URL: https://codereview.chromium.org/821383009
Cr-Commit-Position: refs/heads/master@{#25989}
2015-01-08 10:46:13 +00:00
svenpanne
ad412d046b
Fixed printing during DCE.
...
Removed a superfluous space on the way.
BUG=v8:3679
LOG=y
Review URL: https://codereview.chromium.org/843673004
Cr-Commit-Position: refs/heads/master@{#25988}
2015-01-08 09:54:01 +00:00
bmeurer
fec1bba852
[turbofan] Correctify representation changes to bit.
...
TEST=cctest/test-representation-change,unittests,mjsunit/compiler/regress-bit-number-constant
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/840953003
Cr-Commit-Position: refs/heads/master@{#25987}
2015-01-08 09:48:41 +00:00
dcarney
a5aa01beec
remove declarative accessors
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/834443004
Cr-Commit-Position: refs/heads/master@{#25981}
2015-01-07 16:37:43 +00:00
sergeyv
cedc11ba59
Fix sourceURL & sourceMapURL handling in case of background parsing
...
BUG=
Review URL: https://codereview.chromium.org/821723002
Cr-Commit-Position: refs/heads/master@{#25980}
2015-01-07 15:56:18 +00:00
bmeurer
d1c1a3c48f
[turbofan] Fix bit representation of NumberConstant.
...
TEST=mjsunit/compiler/regress-bit-number-constant
Review URL: https://codereview.chromium.org/839813002
Cr-Commit-Position: refs/heads/master@{#25979}
2015-01-07 15:44:22 +00:00
ishell
0d6785805c
Correct handling of exceptions occured during getting of exception stack trace.
...
BUG=chromium:444805
LOG=Y
Review URL: https://codereview.chromium.org/793333003
Cr-Commit-Position: refs/heads/master@{#25978}
2015-01-07 14:50:16 +00:00
bmeurer
e53845d41c
[turbofan] Cleanup Graph and related classes.
...
- Move NodeMarker to its own file, and introduce a non
templatized base class.
- Cleanup the include hell.
- Sanitize the Node construction methods now that we
got rid of that GenericNode/GenericGraph stuff.
- Protect against NodeId overflow in Graph.
- Various minor cleanups.
TEST=cctest,mjsunit,unittests
Review URL: https://codereview.chromium.org/838783002
Cr-Commit-Position: refs/heads/master@{#25977}
2015-01-07 14:42:49 +00:00
dcarney
cc53844796
make check failures unlikely
...
BUG=
Review URL: https://codereview.chromium.org/843513002
Cr-Commit-Position: refs/heads/master@{#25976}
2015-01-07 14:40:51 +00:00
jochen
28a5a48651
Revert of Turn on job-based recompilation (patchset #2 id:20001 of https://codereview.chromium.org/832183004/ )
...
Reason for revert:
revert
Original issue's description:
> Turn on job-based recompilation
>
> BUG=v8:3608
> LOG=y
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/715552409b4a08504301cf1ad4cb2e45a815f01b
> Cr-Commit-Position: refs/heads/master@{#25972}
TBR=yangguo@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608
Review URL: https://codereview.chromium.org/791033007
Cr-Commit-Position: refs/heads/master@{#25975}
2015-01-07 14:15:39 +00:00
titzer
d77d3ba9a3
Fix bug in Runtime_CompileOptimized resulting from stack overflow.
...
R=jarin@chromium.org
BUG=chromium:446389
LOG=Y
Review URL: https://codereview.chromium.org/844503002
Cr-Commit-Position: refs/heads/master@{#25974}
2015-01-07 13:43:44 +00:00
jochen
715552409b
Turn on job-based recompilation
...
BUG=v8:3608
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/832183004
Cr-Commit-Position: refs/heads/master@{#25972}
2015-01-07 13:31:07 +00:00
yangguo
10a58904ac
Fix debug-debugger.js wrt strict mode.
...
R=rossberg@chromium.org
BUG=v8:3790
LOG=N
Review URL: https://codereview.chromium.org/813873007
Cr-Commit-Position: refs/heads/master@{#25971}
2015-01-07 13:08:22 +00:00
dcarney
4de38bfe38
[turbofan] remove spill slot reuse flag
...
BUG=
Review URL: https://codereview.chromium.org/837173002
Cr-Commit-Position: refs/heads/master@{#25970}
2015-01-07 12:46:13 +00:00
Benedikt Meurer
05bcc2fbc6
[x86] Blacklist AVX for all Mac OS versions up to 10.9.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/808333005
Cr-Commit-Position: refs/heads/master@{#25969}
2015-01-07 12:10:54 +00:00
dcarney
b2378c7404
[turbofan] remove checks for virtual register overflow
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/810403003
Cr-Commit-Position: refs/heads/master@{#25968}
2015-01-07 12:00:52 +00:00
jarin
80a7be5cd9
Restrict representation inference to avoid truncation of phi inputs.
...
BUG=chromium:446778
LOG=N
Review URL: https://codereview.chromium.org/837153002
Cr-Commit-Position: refs/heads/master@{#25967}
2015-01-07 11:38:54 +00:00
yangguo
c71239dc10
Enable serializing eagerly compiled inner functions.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/830143004
Cr-Commit-Position: refs/heads/master@{#25966}
2015-01-07 11:24:54 +00:00
bmeurer
4f6290cae0
[x86] Disable AVX on Mac OS X 10.9.
...
Mac OS X 10.9 (Mavericks) has a bug that causes AVX transitions in ISRs,
so we better not use AVX there.
Review URL: https://codereview.chromium.org/826683003
Cr-Commit-Position: refs/heads/master@{#25965}
2015-01-07 10:03:53 +00:00
bmeurer
ec35c52e54
[turbofan] Generalize constant propagation.
...
Also support additional number types (singleton ranges, NaN and minus
zero) for constant propagation in typed lowering.
TEST=unittests
Review URL: https://codereview.chromium.org/829303002
Cr-Commit-Position: refs/heads/master@{#25963}
2015-01-07 08:24:38 +00:00
Sven Panne
6fff5880e3
Print the SharedFunctionInfo besides the function name, makes matching against --trace_opt output easier.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/816013002
Cr-Commit-Position: refs/heads/master@{#25962}
2015-01-07 08:14:28 +00:00
yunchao.he
8cb08cdc4e
just a typo
...
BUG=
Review URL: https://codereview.chromium.org/809303004
Cr-Commit-Position: refs/heads/master@{#25961}
2015-01-07 07:45:02 +00:00
jarin
a9716d9840
Make control reducer revisit newly introduced merges.
...
TEST=mjsunit/compiler/regress-445876
BUG=chromium:445876
LOG=N
Review URL: https://codereview.chromium.org/830293003
Cr-Commit-Position: refs/heads/master@{#25959}
2015-01-05 16:35:34 +00:00
Benedikt Meurer
9def087efc
[turbofan] Correctify JSToBoolean lowering.
...
Introduce a new AnyToBoolean simplified operator to handle the later
lowering of boolean conversions. Previously we tried to hack that with
the generic JSToBoolean, having its context set to zero, but that lead
to various problems/bugs and did not handle all cases.
TEST=cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/800833003
Cr-Commit-Position: refs/heads/master@{#25958}
2015-01-05 13:44:31 +00:00
Benedikt Meurer
17a180842e
[turbofan] Don't crash when typing load from a Uint8ClampedArray.
...
TEST=mjsunit/compiler/regress-446156
BUG=chromium:446156
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/835883003
Cr-Commit-Position: refs/heads/master@{#25957}
2015-01-05 13:43:47 +00:00
jarin
bdf446f590
Do not reduce effect phis for loops.
...
This prevents eliminating effectful statements before the loop.
BUG=
Review URL: https://codereview.chromium.org/830923002
Cr-Commit-Position: refs/heads/master@{#25953}
2015-01-03 12:46:00 +00:00
bmeurer
26fce420da
[turbofan] Cache common Loop, Merge and Parameter operators.
...
R=jarin@chromium.org
BUG=v8:3792
LOG=n
Review URL: https://codereview.chromium.org/835663002
Cr-Commit-Position: refs/heads/master@{#25952}
2015-01-02 14:16:57 +00:00
bmeurer
fb2643c858
[turbofan] Truncation of Bit/Word8/16 to Word32 is a no-op.
...
TEST=mjsunit/compiler/regress-445859
BUG=chromium:445859
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/828313002
Cr-Commit-Position: refs/heads/master@{#25951}
2015-01-02 10:39:10 +00:00
bmeurer
cf866b7c61
[x64] Rearrange code for OOB integer loads.
...
We cannot just clear the result register optimistically, because the
register allocator might assign the same register to result and buffer.
TEST=mjsunit/compiler/regress-445858
BUG=chromium:445858
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/828303002
Cr-Commit-Position: refs/heads/master@{#25950}
2015-01-02 10:15:40 +00:00
bmeurer
a64ac4575a
Fix %NeverOptimizeFunction() intrinsic.
...
Set a valid reason for disabling optimization when using
%NeverOptimizeFunction.
TEST=mjsunit/compiler/regress-445732
BUG=chromium:445732
LOG=y
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/832003002
Cr-Commit-Position: refs/heads/master@{#25949}
2015-01-02 08:18:01 +00:00
bmeurer
643ed5b8be
[turbofan] Fix missing MachineOperator unittest.
...
The machine-operator-unittest.cc file was missing from unittests.gyp.
Fixed the compiler errors and added it back.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/824243003
Cr-Commit-Position: refs/heads/master@{#25948}
2015-01-02 07:44:52 +00:00
bmeurer
ef41f70684
[turbofan] Fix invalid bounds check with overflowing offset.
...
TEST=mjsunit/compiler/regress-445267
BUG=chromium:445267
LOG=y
Review URL: https://codereview.chromium.org/825403002
Cr-Commit-Position: refs/heads/master@{#25945}
2014-12-29 10:01:15 +00:00
bmeurer
b5e8dd0e12
[turbofan] Raise max virtual registers and call parameter limit.
...
Change InstructionOperand to use a 64-bit field for encoding the operand
information instead of the 32-bit field that was used before. Ideally we
wouldn't use the Zone-allocated bit field at all, and use an integer
instead of the pointer; but that requires fixing the register allocator
first, which will take some time.
TEST=mjsunit/compiler/regress-3786
BUG=v8:3786
LOG=y
Review URL: https://codereview.chromium.org/826673002
Cr-Commit-Position: refs/heads/master@{#25941}
2014-12-25 18:18:04 +00:00
jochen
96143d1931
Remove UNREACHABLE() statements from sys-info.cc
...
We have safe fallbacks in all cases, and it's possible to hit those
codepaths, e.g., on Linux when /proc is not mounted
BUG=v8:3544
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/818213002
Cr-Commit-Position: refs/heads/master@{#25940}
2014-12-23 19:25:27 +00:00
bmeurer
4a8623c637
[turbofan] Turn IrOpcode::Mnemonic() into a table lookup.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/818203002
Cr-Commit-Position: refs/heads/master@{#25939}
2014-12-23 19:24:15 +00:00
bmeurer
4f9193e047
[turbofan] Cache float32 constants on the JSGraph level.
...
Also slightly refactor the NodeCache and CommonNodeCache classes to
reduce inherent overhead of caching.
TEST=cctest
Review URL: https://codereview.chromium.org/822923002
Cr-Commit-Position: refs/heads/master@{#25937}
2014-12-23 14:12:21 +00:00
jochen
9be7f79aa4
Fast-forward version number on bleeding_edge to 3.32.0
...
BUG=none
LOG=n
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/820033002
Cr-Commit-Position: refs/heads/master@{#25936}
2014-12-23 13:50:14 +00:00
bmeurer
eeec886e5f
[turbofan] Deinlinify OperatorProperties implementation.
...
TEST=cctest,unittests
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/821913002
Cr-Commit-Position: refs/heads/master@{#25935}
2014-12-23 12:50:51 +00:00
Benedikt Meurer
0a03b5ef18
[turbofan] Turn DCHECK for fixed slot index into a CHECK.
...
This is a temporary workaround to ensure that we crash in release mode
instead of running into undefined behavior.
BUG=chromium:444681
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/800713006
Cr-Commit-Position: refs/heads/master@{#25933}
2014-12-23 11:00:57 +00:00
Benedikt Meurer
3f00ce2d59
[turbofan] Fix missing ChangeUint32ToUint64 in lowering of LoadBuffer.
...
TEST=mjsunit/compiler/regress-444695
BUG=chromium:444695
LOG=y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/824843002
Cr-Commit-Position: refs/heads/master@{#25932}
2014-12-23 06:54:00 +00:00
Dusan Milosavljevic
8c4b7d272a
MIPS: Enable Math rounding operations call reduction optimization in TF.
...
TEST=
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/791473003
Cr-Commit-Position: refs/heads/master@{#25931}
2014-12-22 17:37:20 +00:00
hpayer
1903447927
Reset old generation limit on main frame context disposal.
...
BUG=
Review URL: https://codereview.chromium.org/815933005
Cr-Commit-Position: refs/heads/master@{#25930}
2014-12-22 15:40:36 +00:00
ulan
0344722a16
Remove custom weak handling of monomorphic IC.
...
This is not needed anymore since all ICs use weak cells to embed maps.
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/817223003
Cr-Commit-Position: refs/heads/master@{#25928}
2014-12-22 15:04:18 +00:00
jochen
18b1e6d353
Enable the embedder to specify what kind of context was disposed
...
This API is used by Blink to inform V8 about HTML frames being disposed.
Using the optional parameter, Blink can tell V8 whether the disposed
frame was a main frame. In that case, we might want to reset GC
parameters
BUG=none
R=hpayer@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/823583003
Cr-Commit-Position: refs/heads/master@{#25926}
2014-12-22 14:27:37 +00:00
jochen
88feffc2ab
Implement missing functionality for job based recompilation
...
BUG=v8:3608
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/816363003
Cr-Commit-Position: refs/heads/master@{#25925}
2014-12-22 13:53:07 +00:00
Benedikt Meurer
1ec1f5957f
[turbofan] Cleanup use of virtual, OVERRIDE, FINAL.
...
Following the Google/Chromium coding style wrt. virtual, OVERRIDE and
FINAL specifications.
TEST=unittests
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/816453005
Cr-Commit-Position: refs/heads/master@{#25924}
2014-12-22 13:48:10 +00:00
ulan
eff42215f0
Use weak cell in monomorphic KeyedStore IC.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/817873003
Cr-Commit-Position: refs/heads/master@{#25923}
2014-12-22 13:38:17 +00:00
Benedikt Meurer
ee98a1d760
[turbofan] Introduce CommonOperatorReducer.
...
The CommonOperatorReducer currently takes care of redundant Phis,
EffectPhis and Selects. This functionality overlaps with ControlReducer,
but is required to make certain optimizations effective, since the
ControlReducer only runs really early and really late in the pipeline
and therefore other reducers aren't reapplied properly after redundant
phi/select elimination.
TEST=unittests
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/817243003
Cr-Commit-Position: refs/heads/master@{#25922}
2014-12-22 13:06:43 +00:00
hpayer
892f6c7127
Do not use out of range visitor ids.
...
BUG=
Review URL: https://codereview.chromium.org/822693002
Cr-Commit-Position: refs/heads/master@{#25920}
2014-12-22 11:12:17 +00:00
Benedikt Meurer
c61abc1426
[turbofan] Materialize the correct kind of constant for bit 1.
...
Bit 1 should be represented as Int32Constant 1 after simplified
lowering, but OneConstant returns NumberConstant 1.0.
R=jochen@chromium.org , hpayer@chromium.org
Review URL: https://codereview.chromium.org/820993002
Cr-Commit-Position: refs/heads/master@{#25919}
2014-12-22 09:24:21 +00:00
ulan
64e1b56107
Revert "Retain maps for several garbage collections"
...
This reverts commit 2bc756e4b3
because of performance regression in kraken.
BUG=chromium:444232
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/816353002
Cr-Commit-Position: refs/heads/master@{#25918}
2014-12-22 09:15:07 +00:00
hpayer
c37e09d7ea
Keep AllocationSpace and ObjectSpace enums in sync.
...
BUG=
Review URL: https://codereview.chromium.org/806693011
Cr-Commit-Position: refs/heads/master@{#25917}
2014-12-22 08:52:22 +00:00
Benedikt Meurer
65e69497ab
[turbofan] Correctify lowering of Uint8ClampedArray buffer access.
...
TEST=mjsunit/compiler/regress-444508.js
BUG=chromium:444508
LOG=y
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/794013004
Cr-Commit-Position: refs/heads/master@{#25916}
2014-12-22 08:27:59 +00:00
Benedikt Meurer
1ed16c587e
[turbofan] Improve typing of ToBoolean.
...
According to ES6 draft, revision 29 (2014-12-06), section 7.1.2,
ToBoolean yields true for true, detectable receivers (the ES6 Object
type), symbols and numbers except -0, +0 and NaN.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/807663006
Cr-Commit-Position: refs/heads/master@{#25915}
2014-12-22 07:21:51 +00:00
chunyang.dai
b4302150b1
X87: fix one test case failure under debug mode.
...
This issue is exposed by CL https://codereview.chromium.org/807273003 .
The DeoptimizeIf(...) function will generate more Assembler code and the
distance between the link point and the bind point is larger then near
link distance (127) for labels.
BUG=
Review URL: https://codereview.chromium.org/820963002
Cr-Commit-Position: refs/heads/master@{#25914}
2014-12-22 07:04:47 +00:00
machenbach
7d478d9621
Revert of Remove obsolete V8_INFINITY macro. (patchset #3 id:40001 of https://codereview.chromium.org/798413003/ )
...
Reason for revert:
Speculative revert. This seems to block the current roll: https://codereview.chromium.org/819653003/
I retried several times, also with a new roll. The error is internal - but that doesn't make much of a difference.
Original issue's description:
> Remove obsolete V8_INFINITY macro.
>
> Use std::numeric_limits consistently.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/31c66e2d53569c4e229d55483d28208491e73612
> Cr-Commit-Position: refs/heads/master@{#25897}
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/813813003
Cr-Commit-Position: refs/heads/master@{#25912}
2014-12-20 13:17:35 +00:00
machenbach
aa4b9393bf
Revert of [mips] Fix typos introduced by previous commit. (patchset #1 id:1 of https://codereview.chromium.org/814203002/ )
...
Reason for revert:
Needed in order to revert https://codereview.chromium.org/798413003
Original issue's description:
> [mips] Fix typos introduced by previous commit.
>
> R=svenpanne@chromium.org
>
> Committed: https://crrev.com/0c96a8b19730e79bc9cae08f3d86755c7b7c962e
> Cr-Commit-Position: refs/heads/master@{#25899}
TBR=svenpanne@chromium.org ,bmeurer@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/822523002
Cr-Commit-Position: refs/heads/master@{#25911}
2014-12-20 13:15:27 +00:00
alph
87e4bba31e
Support multiple interrupt requests in v8 API.
...
There might be a number of clients that would like to
setup an interrupt request on the Isolate.
The patch also deprecates ClearInterrupt API. As long as
the interrupt handler is called outside of locks there's no way
to guarantee that the handler will not be called after
ClearInterrupt was invoked as it might have already started execution.
Review URL: https://codereview.chromium.org/796623003
Cr-Commit-Position: refs/heads/master@{#25910}
2014-12-20 07:54:19 +00:00
adamk
1f1329d960
Use SetOwnElement when creating splice records in array length setter
...
This avoids touching the Array prototype, which may have been tampered with.
BUG=chromium:443982
LOG=n
Review URL: https://codereview.chromium.org/820503005
Cr-Commit-Position: refs/heads/master@{#25908}
2014-12-19 19:39:35 +00:00
mvstanton
ad033893d6
Vector-based ICs also need to hold maps weakly.
...
Regular ICs in MONOMORPHIC and POLYMORPHIC state now hold onto maps with
WeakCells. Vector-based ICs should do the same.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/815953002
Cr-Commit-Position: refs/heads/master@{#25907}
2014-12-19 16:53:49 +00:00
ulan
5ac1f8dabb
MIPS64: Use weak cell in LoadGlobal handler.
...
Port bc0d2e237b
BUG=v8:3629
LOG=N
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/814193004
Cr-Commit-Position: refs/heads/master@{#25906}
2014-12-19 15:48:57 +00:00
ulan
31de02151b
Use weak cell to embed map in CompareNil IC.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/812353002
Cr-Commit-Position: refs/heads/master@{#25905}
2014-12-19 14:51:25 +00:00