bmeurer
d5f2ac5e33
[builtins] Introduce proper Float64Exp operator.
...
Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp
TurboFan operator based on that, similar to what we do for Float64Log.
Rewrite Math.exp() as TurboFan builtin and use that operator to also
inline Math.exp() into optimized TurboFan functions.
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108,chromium:620786
R=mvstanton@chromium.org
Committed: https://crrev.com/93e26314afc9da9b5b8bd998688262444ed73260
Review-Url: https://codereview.chromium.org/2077533002
Cr-Original-Commit-Position: refs/heads/master@{#37037}
Cr-Commit-Position: refs/heads/master@{#37047}
2016-06-17 05:20:59 +00:00
machenbach
789b0ad77a
Revert of [builtins] Introduce proper Float64Exp operator. (patchset #5 id:80001 of https://codereview.chromium.org/2077533002/ )
...
Reason for revert:
[Sheriff] Leads to some different rounding as it seems in some audio layout tests. Please rebase upstream first if intended:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7508
Original issue's description:
> [builtins] Introduce proper Float64Exp operator.
>
> Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp
> TurboFan operator based on that, similar to what we do for Float64Log.
> Rewrite Math.exp() as TurboFan builtin and use that operator to also
> inline Math.exp() into optimized TurboFan functions.
>
> BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/93e26314afc9da9b5b8bd998688262444ed73260
> Cr-Commit-Position: refs/heads/master@{#37037}
TBR=mvstanton@chromium.org ,ahaas@chromium.org,bmeurer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108
Review-Url: https://codereview.chromium.org/2070813002
Cr-Commit-Position: refs/heads/master@{#37039}
2016-06-16 12:49:53 +00:00
bmeurer
93e26314af
[builtins] Introduce proper Float64Exp operator.
...
Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp
TurboFan operator based on that, similar to what we do for Float64Log.
Rewrite Math.exp() as TurboFan builtin and use that operator to also
inline Math.exp() into optimized TurboFan functions.
BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108
R=mvstanton@chromium.org
Review-Url: https://codereview.chromium.org/2077533002
Cr-Commit-Position: refs/heads/master@{#37037}
2016-06-16 12:10:27 +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
mstarzinger
6a769ac1df
[presubmit] Enable readability/namespace linter checking.
...
This enables linter checking for "readability/namespace" violations
during presubmit and instead marks the few known exceptions that we
allow explicitly.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/1371083003
Cr-Commit-Position: refs/heads/master@{#31019}
2015-09-30 13:47:11 +00:00
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
verwaest@chromium.org
30c3981c2c
Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/483683005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:43:39 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
jkummerow@chromium.org
4058d90747
Cleanup: Unify CodeGenerator class across platforms
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/134643026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 13:53:41 +00:00
rossberg@chromium.org
0d906a8bdb
Zonify types in compiler frontend
...
Clean up some zone/isolate handling in AST and its visitors on the way.
(Based on https://codereview.chromium.org/103743004/ )
R=jkummerow@chromium.org , titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/102563004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 16:22:52 +00:00
haitao.feng@intel.com
66e53dc046
Use StackArgumenstAccessor and kPCOnStackSize/kFPOnStackSize to compute stack address/operand for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/22267005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 01:22:25 +00:00
dcarney@chromium.org
675ac2660d
thread isolate for files starting with 'b' and 'c'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23729006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 06:57:16 +00:00
dcarney@chromium.org
f4e16f24ec
remove Isolate::Current from most files starting with 'a'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23859002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-02 09:27:27 +00:00
haitao.feng@intel.com
a6d17b4fb5
Introduce StackArgumentsAccessor class for X64
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/21123008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-27 01:21:39 +00:00
svenpanne@chromium.org
7c0f77a4a5
Make (most of) --trace-codegen available in release mode. Better output.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15941004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-24 10:57:59 +00:00
danno@chromium.org
1f4b4625ff
Re-land Crankshaft-generated KeyedLoad stubs.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 16:25:45 +00:00
danno@chromium.org
64fc1f99cb
Revert 13157, 13145 and 13140: Crankshaft code stubs.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11498006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-10 11:09:12 +00:00
danno@chromium.org
f19959cd22
Enable stub generation using Hydrogen/Lithium (again)
...
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Committed: https://code.google.com/p/v8/source/detail?r=13105
Committed: https://code.google.com/p/v8/source/detail?r=13117
Review URL: https://codereview.chromium.org/10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-05 11:04:10 +00:00
danno@chromium.org
66f6a8182c
Revert 13117: "Enable stub generation using Hydrogen/Lithium (again)"
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/11415261
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 17:16:51 +00:00
danno@chromium.org
78b09625d5
Enable stub generation using Hydrogen/Lithium (again)
...
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Committed: https://code.google.com/p/v8/source/detail?r=13105
Review URL: https://codereview.chromium.org/10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 15:51:05 +00:00
danno@chromium.org
0a3bcc8c05
Revert 13105: "Enable stub generation using Hydrogen/Lithium."
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11414262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:45:45 +00:00
danno@chromium.org
c115ff4e33
Enable stub generation using Hydrogen/Lithium.
...
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Review URL: https://codereview.chromium.org/10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:31:30 +00:00
svenpanne@chromium.org
5a4e0f1c79
Simplify and fix code aging.
...
Making the code size predictable is hard, and to make things even more
complicated, the start of a function can contain various stuff like calls to a
profiling hook, receiver adjustment or dynamic frame alignment. Instead of
tackling all these problems separately, we now simply record the offset where
patching should happen later in the Code object itself.
Review URL: https://codereview.chromium.org/11316218
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 07:38:00 +00:00
jkummerow@chromium.org
79563b22c9
Faster implementation of Math.exp()
...
Review URL: https://codereview.chromium.org/11418149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-26 13:12:35 +00:00
danno@chromium.org
bd4e114b8e
Add code again to allow reclaiming old unexecuted functions.
...
When code objects in the heap for FUNCTIONs and OPTIMIZED_FUNCTIONs are marked by the GC, their prologue is patched with a call to a stub that removes the patch. This allows the collector to quickly identify code objects that haven't been executed since the last full collection (they are the ones that sill contain the patch). The functionality is currently disabled, but can be activated by specifying the "--age-code".
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/10837037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:18:11 +00:00
yangguo@chromium.org
198e33560b
Porting r10023 and r10054 to x64 (pointer cache for external strings).
...
Review URL: http://codereview.chromium.org/8662009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-24 10:16:39 +00:00
sgjesse@chromium.org
8a6108de95
Remove the ability to compile without logging and profiling
...
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created.
R=ager@chromium.org
BUG=v8:1271
TEST=all
Review URL: http://codereview.chromium.org//7350014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-13 09:09:04 +00:00
ager@chromium.org
95c76ed464
Remove some dead code.
...
- virtual-frame*
- register-allocator*
- jump-target*
- most of codegen*
- AstOptimizer and fields on AST
There is a lot of additional cleanup that we should do but this gets
rid of a lot.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6811012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-07 14:42:37 +00:00
vitalyr@chromium.org
7976ca2cbc
Merge isolates to bleeding_edge.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 20:35:07 +00:00
vitalyr@chromium.org
76e226f832
Revert r7268: it borked the history.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 19:41:05 +00:00
vitalyr@chromium.org
6ff7fdebd3
Merge isolates to bleeding_edge.
...
Review URL: http://codereview.chromium.org/6685088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 18:49:56 +00:00
mmaly@chromium.org
4cbf3478d8
Implement strict mode ThrowTypeError functions for arguments object.
...
* Reverse order of arguments in-object fields for length and callee.
* Introduce arguments ThrowTypeError functions (caller/callee).
* Create strict mode arguments boilerplate object.
* Strict mode "new arguments object" stub.
* Runtime arguments object allocation.
* Update es5conform test expectations.
Review URL: http://codereview.chromium.org/6698015/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-17 20:28:41 +00:00
whesse@chromium.org
f149e4cd90
X64 Crankshaft: Fix error in r6897. Restore context register after KeyedCallIC. Only non-trivial change is to lithium-codegen-x64.cc.Update copyright dates on all recently modified X64 platform files.
...
Review URL: http://codereview.chromium.org/6592008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-25 13:22:38 +00:00
mmaly@chromium.org
87233c49c8
Pass strict mode to eval.
...
Code review feedback.
Code Review URL: http://codereview.chromium.org/6286043/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-04 18:15:49 +00:00
kasperl@chromium.org
90b3370374
Update V8 to version 3.0 (re-land r5920).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:31:57 +00:00
kasperl@chromium.org
51b494d096
Revert r5920. Will re-land shortly.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:01:02 +00:00
kasperl@chromium.org
e5860bd6a8
Update V8 to version 3.0.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 09:11:56 +00:00
whesse@chromium.org
66836efbba
Add generated code to calculate Math.log and to search Transcendental cache for logs. Implemented on all platforms.
...
Review URL: http://codereview.chromium.org/5437002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-02 11:20:44 +00:00
ager@chromium.org
1e8413e188
Force pretenuring of closures that are immediately assigned to
...
properties. For these closures we would like to be able to use
constant functions and for that we need the closures allocated in old
space.
Review URL: http://codereview.chromium.org/5220007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-22 09:57:21 +00:00
whesse@chromium.org
1d11e32a01
Add a fast case to Array.join when all the elements and the separator are flat ascii strings.
...
Review URL: http://codereview.chromium.org/5122005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-19 09:25:46 +00:00
fschneider@chromium.org
582a3bde4f
Move ComputeCallInitialize from the codegen.cc to stub-cache.cc.
...
Review URL: http://codereview.chromium.org/4760003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-11 10:33:51 +00:00
fschneider@chromium.org
8673e6497c
Move common static helpers from codegen to the macro-assembler files.
...
Review URL: http://codereview.chromium.org/4654002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-10 17:00:20 +00:00
lrn@chromium.org
e1458503d1
Remove regexp caching.
...
Review URL: http://codereview.chromium.org/4308001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-02 13:37:59 +00:00
whesse@chromium.org
056b1f3a86
Fix compilation error on ARM with gcc 4.4. Remove NULL check of pointer to member, which was dead code (never failed).
...
Review URL: http://codereview.chromium.org/3793011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-18 10:23:45 +00:00
kmillikin@chromium.org
ea910460bd
More refactoring of class Compiler's interface.
...
Change more functions used by the Compiler class to have a uniform
interface: they get passed as argument an input/output pointer to a
CompilationInfo that they mutate if they succeed, and they return a
flag telling whether they succeeded.
Also, remove some unnecessary timers.
Review URL: http://codereview.chromium.org/3561012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-04 14:30:43 +00:00
whesse@chromium.org
fc83faa8fd
Move inlined function declarations and support from codegen.* to runtime.*.
...
Review URL: http://codereview.chromium.org/3293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-14 14:52:53 +00:00
whesse@chromium.org
990992a857
Remove CodeGenerator::PatchInlineRuntimeEntry and replace its single use in test-log-stack-tracer.cc with an alternative implementation.
...
Review URL: http://codereview.chromium.org/3311002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 13:13:31 +00:00
whesse@chromium.org
a18f9d1114
Remove dependence of code-stubs on codegen, the virtual frame code generator. Move some functions used by code-stubs and full-codegen from codegen to macro-assembler.
...
Review URL: http://codereview.chromium.org/3169049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 11:48:07 +00:00