- 18 Sep, 2015 23 commits
-
-
mbrandy authored
Port 593c655a Original commit message: This removes the weird COMPARE and COMPARE_STRONG JavaScript builtins and replaces them with a proper C++ implementation in Object::Compare and appropriate wrappers Object::LessThan, Object::GreaterThan, and friends that are intended to be used by a true/false returning CompareIC in the future, as well as the interpreter. As a short-term solution we provide %Compare and %Compare_Strong entry points for the current CompareIC that return the appropriate integer values expected by fullcodegen currently. Now the Abstract Relational Comparison is also using the correct ToPrimitive implementation, which properly supports @@toPrimitive. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1356983002 Cr-Commit-Position: refs/heads/master@{#30836}
-
adamk authored
It's been enabled since M45, which is now well into its stable period, with no problems reported. Review URL: https://codereview.chromium.org/1356793002 Cr-Commit-Position: refs/heads/master@{#30835}
-
adamk authored
This changes the error message for code like: if (false) let x; from "Block-scoped declarations (let, const, function, class) not yet supported outside strict mode" to "Unexpected identifier" (pointing at |x|). Review URL: https://codereview.chromium.org/1356783002 Cr-Commit-Position: refs/heads/master@{#30834}
-
mtrofin authored
Akin to linear scan's TryReuseSpillForPhi, we attempt to merge the spill ranges of grouped live ranges (which are phi inputs and output), to avoid inefficient slot-to-slot moves. BUG= Review URL: https://codereview.chromium.org/1353023003 Cr-Commit-Position: refs/heads/master@{#30833}
-
bmeurer authored
This way we can finally remove the ES5 ToPrimitive builtin from runtime.js, and the Date Constructor now properly supports @@toPrimitive for the single argument case as well. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=rossberg@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1346893003 Cr-Commit-Position: refs/heads/master@{#30832}
-
mlippautz authored
R=jochen@chromium.org BUG=chromium:533342 LOG=N Review URL: https://codereview.chromium.org/1349723005 Cr-Commit-Position: refs/heads/master@{#30831}
-
vogelheim authored
R=jochen@chromium.org BUG=chromium:533243 LOG=N Review URL: https://codereview.chromium.org/1356863002 Cr-Commit-Position: refs/heads/master@{#30830}
-
chunyang.dai authored
port b5588f48 (r30767). original commit message: There isn't a plan to turn it on soon, so we'll take it out in favor of cleaner code. BUG= Review URL: https://codereview.chromium.org/1346043005 Cr-Commit-Position: refs/heads/master@{#30829}
-
chunyang.dai authored
port d5bbd45f (r30808). oringial commit message: Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. BUG= Review URL: https://codereview.chromium.org/1350183005 Cr-Commit-Position: refs/heads/master@{#30828}
-
chunyang.dai authored
port 905e008c (r30758) BUG= Review URL: https://codereview.chromium.org/1352173002 Cr-Commit-Position: refs/heads/master@{#30827}
-
chunyang.dai authored
port a3d6f6cc (r30759). original commit message: Implement the String constructor completely as native builtin, avoiding the need to do gymnastics in JavaScript builtin to properly detect the no argument case (which is different from the undefined argument case) and also allowing to just tailcall through to ToString or SymbolDescriptiveString for the common case. Also the JavaScript builtin was misleading since the case for construct call was unused, but could be triggered in a wrong way once we support tail calls from constructor functions. This refactoring allows us to properly implement subclassing for String builtins, once we have the correct initial_map on derived classes (it's merely a matter of using NewTarget instead of the target register now). This introduces a new %SymbolDescriptiveString runtime entry, which is also used by Symbol.toString() now. BUG= Review URL: https://codereview.chromium.org/1349403002 Cr-Commit-Position: refs/heads/master@{#30826}
-
cbruni authored
Reuse code for copying arguments and pushing/shifting elements. BUG= Review URL: https://codereview.chromium.org/1346013005 Cr-Commit-Position: refs/heads/master@{#30825}
-
balazs.kilvady authored
Port 09f41681 Original commit message: The patch decreases the calls of huge switch instructions making the DecodeType*() functions to work in one phase and optimizing Instruction::InstructionType(). Speed gain in release full check is about 33% (6:13 s -> 4:09 s) and in optdebug full test is about 50% (12:29 -> 6:17) BUG= Review URL: https://codereview.chromium.org/1356693002 Cr-Commit-Position: refs/heads/master@{#30824}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1350293002 Cr-Commit-Position: refs/heads/master@{#30823}
-
mlippautz authored
Pure refactoring. R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1354613002 Cr-Commit-Position: refs/heads/master@{#30822}
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1353103002 Cr-Commit-Position: refs/heads/master@{#30821}
-
brettw authored
The previous code took advantage of the fact that a group's deps are implicitly public, but I'm trying to fix that. This also cleans up some duplicated code between component and non-component builds. Review URL: https://codereview.chromium.org/1356723002 Cr-Commit-Position: refs/heads/master@{#30820}
-
jkummerow authored
This extends instrumentation added in r30683 and r30768 to cover the possibility that the root cause we're after is in optimized code. This CL is intended to be reverted in a couple of days, but should cause no harm while it's in the tree (we would crash anyway). BUG=chromium:527994 LOG=n Review URL: https://codereview.chromium.org/1348823003 Cr-Commit-Position: refs/heads/master@{#30819}
-
bmeurer authored
The StringCompareStub used to take its parameters on the (JavaScript) stack, which made it impossible to use in TurboFan. Actually StringCompareStub was currently completely unused. This changes the calling convention to something TurboFan compatible and introduces a CallInterfaceDescriptor for StringCompareStub. It also changes HStringCompareAndBranch to use the StringCompareStub instead of using the full blown CompareICStub for a stupid string comparison. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1347913003 Cr-Commit-Position: refs/heads/master@{#30818}
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/1342263003 Cr-Commit-Position: refs/heads/master@{#30817}
-
bmeurer authored
This removes the weird COMPARE and COMPARE_STRONG JavaScript builtins and replaces them with a proper C++ implementation in Object::Compare and appropriate wrappers Object::LessThan, Object::GreaterThan, and friends that are intended to be used by a true/false returning CompareIC in the future, as well as the interpreter. As a short-term solution we provide %Compare and %Compare_Strong entry points for the current CompareIC that return the appropriate integer values expected by fullcodegen currently. Now the Abstract Relational Comparison is also using the correct ToPrimitive implementation, which properly supports @@toPrimitive. BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1350113002 Cr-Commit-Position: refs/heads/master@{#30816}
-
v8-autoroll authored
Rolling v8/tools/clang to 0e7dbd100f91096de47919f394ac0b32dd7c21a2 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1355633003 Cr-Commit-Position: refs/heads/master@{#30815}
-
aperez authored
Defines and uses a kMaxSafeInteger macro (which expands to the constant 2^53-1) instead of accessing Number.MAX_SAFE_INTEGER. This saves loading the attribute from the Number object, which is slightly faster. This also makes it clearer from reading the code that tha value being compared is constant. BUG= LOG=N Review URL: https://codereview.chromium.org/1353953002 Cr-Commit-Position: refs/heads/master@{#30814}
-
- 17 Sep, 2015 17 commits
-
-
mbrandy authored
Port d5bbd45f Original commit message: Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1347213003 Cr-Commit-Position: refs/heads/master@{#30813}
-
gdeepti authored
Merge ShiftRightArithmetic and ShiftRightLogical Functions. BUG=v8:4124 LOG=Y Review URL: https://codereview.chromium.org/1351663002 Cr-Commit-Position: refs/heads/master@{#30812}
-
rmcilroy authored
Uncomment the if (!serializer_enabled()) check which I accidentially left commented out after debugging during the CLs development. BUG=chromium:532969 R=bmeurer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1351943002 Cr-Commit-Position: refs/heads/master@{#30811}
-
mbrandy authored
Port 54bab695 Original commit message: Move the implementation of the Abstract Equality Comparison to the runtime and thereby remove the EQUALS dispatcher builtin. Also remove the various runtime entry points that were only used to support the EQUALS builtin. Now the Abstract Equality Comparison is also using the correct ToPrimitive implementation, which properly supports @@toPrimitive. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1357493002 Cr-Commit-Position: refs/heads/master@{#30810}
-
mbrandy authored
Port a3d6f6cc Original commit message: Implement the String constructor completely as native builtin, avoiding the need to do gymnastics in JavaScript builtin to properly detect the no argument case (which is different from the undefined argument case) and also allowing to just tailcall through to ToString or SymbolDescriptiveString for the common case. Also the JavaScript builtin was misleading since the case for construct call was unused, but could be triggered in a wrong way once we support tail calls from constructor functions. This refactoring allows us to properly implement subclassing for String builtins, once we have the correct initial_map on derived classes (it's merely a matter of using NewTarget instead of the target register now). This introduces a new %SymbolDescriptiveString runtime entry, which is also used by Symbol.toString() now. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1354663002 Cr-Commit-Position: refs/heads/master@{#30809}
-
bmeurer authored
Currently Execution::Call (and friends) still duplicate a lot of the Call sequence logic that should be encapsulated in the Call and CallFunction builtins. So the plan now is to switch Execution::Call to accept any Callable and just pass that through to the Call builtin. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4413 LOG=n Committed: https://crrev.com/359645f48156e15f235e9a9ede7910e0bcd9ae45 Cr-Commit-Position: refs/heads/master@{#30791} Review URL: https://codereview.chromium.org/1353723002 Cr-Commit-Position: refs/heads/master@{#30808}
-
mbrandy authored
Port b5588f48 Original commit message: There isn't a plan to turn it on soon, so we'll take it out in favor of cleaner code. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1347253003 Cr-Commit-Position: refs/heads/master@{#30807}
-
mbrandy authored
Port 905e008c R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=v8:4423 LOG=N Review URL: https://codereview.chromium.org/1350923003 Cr-Commit-Position: refs/heads/master@{#30806}
-
tandrii authored
R=machenbach@chromium.org,jochen@chromium.org NOTRY=True BUG= Review URL: https://codereview.chromium.org/1357453002 Cr-Commit-Position: refs/heads/master@{#30805}
-
ben authored
Typed arrays from the snapshot start out in the young space but they all seem to end up in the old space sooner or later anyway. Let's expedite that by allocating them in the old space right away. Review URL: https://codereview.chromium.org/1347263003 Cr-Commit-Position: refs/heads/master@{#30804}
-
mlippautz authored
R=hpayer@chromium.org BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1356663002 Cr-Commit-Position: refs/heads/master@{#30803}
-
https://codereview.chromium.org/1352803002ishell authored
Review URL: https://codereview.chromium.org/1347073004 Cr-Commit-Position: refs/heads/master@{#30802}
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/1351093002 Cr-Commit-Position: refs/heads/master@{#30801}
-
hpayer authored
BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1341973003 Cr-Commit-Position: refs/heads/master@{#30800}
-
ishell authored
Review URL: https://codereview.chromium.org/1352803002 Cr-Commit-Position: refs/heads/master@{#30799}
-
jkummerow authored
Now run-tests.py understands "suite/foo/bar" with forward slashes for command-line test selection on all test suites on all platforms. Previously, file-based suites like mjsunit also accepted "mjsunit/foo\bar"; that behavior is sacrificed here in favor of unification. For the cctest suite, OTOH, it wasn't possible on Windows to select specific tests at all. Original review: https://codereview.chromium.org/1348653003/ This reverts commit 5f44a910. NOTRY=true Review URL: https://codereview.chromium.org/1356613002 Cr-Commit-Position: refs/heads/master@{#30798}
-
cbruni authored
The core bottleneck lies in N-square cost of array union. Depending on the size of the arrays involved it makes sense to rely on a hash-set/table for the lookup. LOG=N BUG=v8:2904 Review URL: https://codereview.chromium.org/1316213008 Cr-Commit-Position: refs/heads/master@{#30797}
-