- 18 May, 2015 1 commit
-
-
wingo authored
This reapplies https://codereview.chromium.org/1136073002, along with the followups: Remove Scope::scope_uses_this_ flag https://codereview.chromium.org/1128963005 and PPC: Resolve references to "this" the same way as normal variables https://codereview.chromium.org/1134073003 R=yangguo@chromium.org, rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1136883006 Cr-Commit-Position: refs/heads/master@{#28458}
-
- 15 May, 2015 1 commit
-
-
mvstanton authored
Now that vector ics are established for load, keyed load and call ics, let's remove dead code behind the flag. BUG= Review URL: https://codereview.chromium.org/1129853002 Cr-Commit-Position: refs/heads/master@{#28422}
-
- 13 May, 2015 1 commit
-
-
yangguo authored
... and the following two "PPC: Resolve references to "this" the same way as normal variables" "Remove Scope::scope_uses_this_ flag" R=hablich@chromium.org BUG=chromium:487289 LOG=N Review URL: https://codereview.chromium.org/1134003003 Cr-Commit-Position: refs/heads/master@{#28395}
-
- 12 May, 2015 2 commits
-
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for the binary >, >=, <, and <= operators. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1130283002 Cr-Commit-Position: refs/heads/master@{#28370}
-
mvstanton authored
HMaybeGrowElements moves the situation where you actually have to grow into deferred code. This means crankshaft doesn't have to spill registers just to make the bounds comparison to see if it'll need to grow or not. It makes the growing case a bit more expensive, but reduces the cost of the general case. BUG=chromium:484025 LOG=N Review URL: https://codereview.chromium.org/1124443004 Cr-Commit-Position: refs/heads/master@{#28359}
-
- 11 May, 2015 4 commits
-
-
arv authored
In strong mode it is an error to call a function with too few arguments. This is enforced inside the ArgumentsAdaptorTrampoline. This does not yet handle rest parameters BUG=v8:3956 LOG=N R=rossberg@chromium.org, dslomov@chromium.org Review URL: https://codereview.chromium.org/1115263004 Cr-Commit-Position: refs/heads/master@{#28346}
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1139733002 Cr-Commit-Position: refs/heads/master@{#28344}
-
wingo authored
Make the parser handle references to "this" as unresolved variables, so the same logic as for the rest of function parameters is used for the receiver. Minor additions to the code generation handle copying the receiver to the context, along with the rest of the function parameters. Based on work by Adrian Perez de Castro <aperez@igalia.com>. This is a reapplication of https://codereview.chromium.org/1130733003. R=rossberg@chromium.org BUG=v8:2700 LOG=N Review URL: https://codereview.chromium.org/1136073002 Cr-Commit-Position: refs/heads/master@{#28340}
-
danno authored
This stub will be used as the basis of a Math.floor-specific CallIC to detect and track calls to floor that return -0. Along the way: - Create a TurboFanCodeStub super class from which the StringLength and MathRound TF stubs derive. - Fix the ugly hack that passes the first stub parameter as the "this" pointer in the the TF-compiled JS function. - Fix bugs in the ia32/x64 disassembler. Review URL: https://codereview.chromium.org/1137703002 Cr-Commit-Position: refs/heads/master@{#28339}
-
- 08 May, 2015 1 commit
-
-
verwaest authored
Revert of Allow loading holes from holey smi arrays (patchset #2 id:20001 of https://codereview.chromium.org/1134483002/) Reason for revert: Shouldn't unconditionally load holes since it tanks performance. I'll change it in a follow-up to only do it if the IC ever saw it happen. Original issue's description: > Allow loading holes from holey smi arrays > > BUG= > > Committed: https://crrev.com/eab5bb5390fab79d063f29398377c6d181963dde > Cr-Commit-Position: refs/heads/master@{#28298} TBR=mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1131203002 Cr-Commit-Position: refs/heads/master@{#28309}
-
- 07 May, 2015 2 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1134483002 Cr-Commit-Position: refs/heads/master@{#28298}
-
machenbach authored
Revert of Resolve references to "this" the same way as normal variables (patchset #2 id:20001 of https://codereview.chromium.org/1130733003/) Reason for revert: [Sheriff] Breaks jetstream benchmark with errors like this: >>> Running suite: JetStream/bigfib.cpp >>> Stdout (#1): undefined:93: ReferenceError: this is not defined this['Module'] = Module; ^ ReferenceError: this is not defined at eval (eval at __run (runner.js:13:3), <anonymous>:93:3) at eval (native) at __run (runner.js:13:3) at Object.runSimpleBenchmark (runner.js:44:31) at runner.js:97:13 Original issue's description: > Resolve references to "this" the same way as normal variables > > Make the parser handle references to "this" as unresolved variables, so the > same logic as for the rest of function parameters is used for the receiver. > Minor additions to the code generation handle copying the receiver to the > context, along with the rest of the function parameters. > > Based on work by Adrian Perez de Castro <aperez@igalia.com>. > > BUG=v8:2700 > LOG=N > > Committed: https://crrev.com/06a792b7cc2db33ffce7244c044a9c05afbb6116 > Cr-Commit-Position: refs/heads/master@{#28263} TBR=rossberg@chromium.org,arv@chromium.org,wingo@igalia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:2700 Review URL: https://codereview.chromium.org/1129723003 Cr-Commit-Position: refs/heads/master@{#28283}
-
- 06 May, 2015 5 commits
-
-
conradw authored
https://codereview.chromium.org/1125783002 did not handle all cases for some architectures. These cases are now covered, and tests have been extended to check them. BUG=v8:4073 LOG=N Review URL: https://codereview.chromium.org/1128143002 Cr-Commit-Position: refs/heads/master@{#28266}
-
mvstanton authored
BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1116943002 Cr-Commit-Position: refs/heads/master@{#28264}
-
wingo authored
Make the parser handle references to "this" as unresolved variables, so the same logic as for the rest of function parameters is used for the receiver. Minor additions to the code generation handle copying the receiver to the context, along with the rest of the function parameters. Based on work by Adrian Perez de Castro <aperez@igalia.com>. BUG=v8:2700 LOG=N Review URL: https://codereview.chromium.org/1130733003 Cr-Commit-Position: refs/heads/master@{#28263}
-
mvstanton authored
typeof was implemented as a runtime function. Calling it in optimized code with a non-constant input becomes burdensome. BUG= Review URL: https://codereview.chromium.org/1114563003 Cr-Commit-Position: refs/heads/master@{#28260}
-
conradw authored
The Hydrogen representation for binops was never changed to care about the language mode. We thought this was ok, but it turns out we need to keep track of it to make sure inlining doesn't mess with the "strongness" of binops. Also added more rigorous inlining testing. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1123043002 Cr-Commit-Position: refs/heads/master@{#28253}
-
- 05 May, 2015 6 commits
-
-
dslomov authored
ArgumentsAdaptorStub for derived constructor (the one that needs new.target) works in this way: - If the constructor is invoked via the Construct stub, we know that actual arguments always include new.target. ``arguments`` object however should not include a new.target, therefore we remove it. We achieve this by decrementing the argument count. - If the constructor is invoked as a call, we do not care for a correct ``arguments`` array since the constructor will immediately throw on entrance. The bug is that the call could actually pass 0 actual arguments, but I decrement unconditionally :(. The fix is to detect this case and avoid decrementing. ``arguments`` is bogus, but it is ok as constructor throws. Long-term we should just remove mucking about with arguments for new.target and just get it from the stack. R=arv@chromium.org,rossberg@chromium.org BUG=chromium:474783 LOG=Y Review URL: https://codereview.chromium.org/1126783003 Cr-Commit-Position: refs/heads/master@{#28242}
-
wingo authored
Revert of Resolve references to "this" the same way as normal variables (patchset #11 id:240001 of https://codereview.chromium.org/1097283003/) Reason for revert: nosnap failures Original issue's description: > Resolve references to "this" the same way as normal variables > > Make the parser handle references to "this" as unresolved variables, so the > same logic as for the rest of function parameters is used for the receiver. > Minor additions to the code generation handle copying the receiver to the > context, along with the rest of the function parameters. > > Based on work by Adrian Perez de Castro <aperez@igalia.com>. > > BUG= > LOG=N > > Committed: https://crrev.com/18619d355192e2699203d12d9ebb9caea107b693 > Cr-Commit-Position: refs/heads/master@{#28236} TBR=rossberg@chromium.org,mstarzinger@chromium.org,dslomov@chromium.org,adamk@chromium.org,arv@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1113133006 Cr-Commit-Position: refs/heads/master@{#28238}
-
danno authored
Revert of Collect type feedback on result of Math.[round|ceil|floor] (patchset #13 id:230001 of https://codereview.chromium.org/1053143005/) Reason for revert: All sorts of performance regressions Original issue's description: > Collect type feedback on result of Math.[round|ceil|floor] > > By recording invocations of these builtins that can return -0, we now learn to not emit Crankshaft code that only handles integer results, avoiding deopt loops. > > Committed: https://crrev.com/f36ecaf3a4d61568ca50a20718acce7dd5da9a5f > Cr-Commit-Position: refs/heads/master@{#28215} TBR=mvstanton@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1115973005 Cr-Commit-Position: refs/heads/master@{#28237}
-
wingo authored
Make the parser handle references to "this" as unresolved variables, so the same logic as for the rest of function parameters is used for the receiver. Minor additions to the code generation handle copying the receiver to the context, along with the rest of the function parameters. Based on work by Adrian Perez de Castro <aperez@igalia.com>. BUG= LOG=N Review URL: https://codereview.chromium.org/1097283003 Cr-Commit-Position: refs/heads/master@{#28236}
-
arv authored
When comparing a symbol to istself using <, <=, > or >= we need to throw a TypeError. This is correctly handled in the runtime function so if we are comparing a symbol fall back to use the runtime. BUG=v8:4073 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1125783002 Cr-Commit-Position: refs/heads/master@{#28226}
-
danno authored
By recording invocations of these builtins that can return -0, we now learn to not emit Crankshaft code that only handles integer results, avoiding deopt loops. Review URL: https://codereview.chromium.org/1053143005 Cr-Commit-Position: refs/heads/master@{#28215}
-
- 04 May, 2015 2 commits
-
-
jarin authored
BUG=v8:3985 LOG=n R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1122083002 Cr-Commit-Position: refs/heads/master@{#28206}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1120093002 Cr-Commit-Position: refs/heads/master@{#28200}
-
- 30 Apr, 2015 4 commits
-
-
adamk authored
BUG=v8:1569 LOG=n Review URL: https://codereview.chromium.org/1106383008 Cr-Commit-Position: refs/heads/master@{#28179}
-
jochen authored
Just give internal ones an ArrayBuffer with a NULL backing store. This simplifies the access checks a lot. BUG=v8:3996 R=hpayer@chromium.org,verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/1109353003 Cr-Commit-Position: refs/heads/master@{#28168}
-
mvstanton authored
We were deopting without learning anything. This is a rebase/reland of https://codereview.chromium.org/368263003 BUG=v8:3417 LOG=N Review URL: https://codereview.chromium.org/1109333003 Cr-Commit-Position: refs/heads/master@{#28163}
-
vogelheim authored
An initial 'code age' state that will turn into a 'pre-aging' code age only after it was executed the first time. BUG=470930 LOG=Y Review URL: https://codereview.chromium.org/1107233004 Cr-Commit-Position: refs/heads/master@{#28162}
-
- 28 Apr, 2015 1 commit
-
-
jochen authored
This instruction can be hoisted out of loops even though it contains a branch. BUG=v8:3996 R=bmeurer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1108313003 Cr-Commit-Position: refs/heads/master@{#28109}
-
- 27 Apr, 2015 1 commit
-
-
mvstanton authored
If the array's map is the initial FastHoley array map, and the array prototype chain is undisturbed and empty of elements, then keyed loads can convert the load of a hole to undefined. BUG= Review URL: https://codereview.chromium.org/1100083002 Cr-Commit-Position: refs/heads/master@{#28056}
-
- 24 Apr, 2015 1 commit
-
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for binary arithmetic operations, not including the + special case. Adds some infrastructure for future implementation of the restrictions for other operators. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1092353002 Cr-Commit-Position: refs/heads/master@{#28045}
-
- 21 Apr, 2015 1 commit
-
-
svenpanne authored
Baby steps towards saner #includes... Review URL: https://codereview.chromium.org/1051393003 Cr-Commit-Position: refs/heads/master@{#27958}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 16 Apr, 2015 1 commit
-
-
verwaest authored
BUG=chromium:476592 LOG=n Review URL: https://codereview.chromium.org/1086333002 Cr-Commit-Position: refs/heads/master@{#27898}
-
- 15 Apr, 2015 4 commits
-
-
mvstanton authored
Calling new Array(JSObject::kInitialMaxFastElementArray) in optimized code makes a stub call that bails out due to the length. Currently, the bailout code a) doesn't have the allocation site, and b) wouldn't use it if it did because the length is perceived to be too high. This CL passes the allocation site to the stub call (rather than undefined), and alters the bailout code to utilize the feedback. BUG= Review URL: https://codereview.chromium.org/1086873003 Cr-Commit-Position: refs/heads/master@{#27857}
-
jkummerow authored
AFAICT none of these can actually be triggered currently; but it's still good to harden the code a little. Review URL: https://codereview.chromium.org/1058533007 Cr-Commit-Position: refs/heads/master@{#27848}
-
mstarzinger authored
This adds a missing bailout id to a ForInStatement for when retrieving and filtering a property name deoptimizes. This can happen with proxies that have a getPropertyDescriptor trap. R=jarin@chromium.org TEST=mjsunit/for-in-opt Review URL: https://codereview.chromium.org/1086083002 Cr-Commit-Position: refs/heads/master@{#27846}
-
mvstanton authored
This needs "Pass load ic state through the Oracle" (https://codereview.chromium.org/1083933002/) to land first. BUG= R=dcarney@chromium.org Review URL: https://codereview.chromium.org/1083083002 Cr-Commit-Position: refs/heads/master@{#27827}
-
- 13 Apr, 2015 1 commit
-
-
adamk authored
This avoids both a mysterious boolean argument ("insert") and lets non-mutating lookups skip passing an allocator (in one such case, we were passing a scary-looking ZoneAllocationPolicy(NULL)!). Review URL: https://codereview.chromium.org/1074943002 Cr-Commit-Position: refs/heads/master@{#27799}
-